グッズ

素晴らしいがあまり知られていない Python ライブラリ

Python プログラマーは、データ エンジニアリングやビジネス インテリジェンス プロジェクトの作業を改善できる新しいライブラリを常に探しています。

この記事では、あまり知られていないが非常に便利な Python ライブラリをいくつか紹介します。

1。 振り子

多くのライブラリが利用可能ですが、 Python DateTime の場合、Pendulum はあらゆる日付操作で使いやすいと思います。 振り子は、仕事で毎日使用する私のお気に入りの本棚です。 組み込みの Python datetime モジュールを拡張し、タイム ゾーンを管理し、時間間隔の追加、日付の減算、タイム ゾーン間の変換などの日付と時刻の操作を実行するためのより直感的な API を追加します。 日付と時刻をフォーマットするためのシンプルで直感的な API を提供します。

インストール
!pip install pendulum
# import library

import pendulum
dt = pendulum.datetime(2023, 1, 31)
print(dt)
 
#local() creates datetime instance with local timezone

local = pendulum.local(2023, 1, 31)
print("Local Time:", local)
print("Local Time Zone:", local.timezone.name)

# Printing UTC time

utc = pendulum.now('UTC')
print("Current UTC time:", utc)
 
# Converting UTC timezone into Europe/Paris time

europe = utc.in_timezone('Europe/Paris')
print("Current time in Paris:", europe)
出力

2. フィートフィー

データ内の外国語が正しく表示されないという経験はありませんか? これを文字化けと言います。 文字化けは、エンコードまたはデコードの問題の結果として発生する文字化けまたはスクランブルされたテキストを表すために使用される用語です。 これは通常、ある文字エンコーディングで書かれたテキストが別のエンコーディングを使用して誤ってデコードされた場合に発生します。 ftfy Python ライブラリは Mojibake の修正に役立ち、NLP のユースケースで非常に役立ちます。

インストール
!pip インストール ftfy
print(ftfy.fix_text('ftfy\x9d を使用して文を修正してください。')) print(ftfy.fix_text(''' テキストに問題はありません')) print(ftfy.fix_text(''' 混乱による反射屈曲'))
出力

Mojibake に加えて、ftfy は不正なエンコーディング、不正な行末、不正な引用符を修正します。 次のエンコーディングのいずれかとしてデコードされたテキストを理解できる場合があります。

  • ラテン-1 (ISO-8859–1)
  • Windows-1252 (cp1252 — Microsoft 製品で使用)
  • Windows-1251 (cp1251 — cp1252 のロシア語版)
  • Windows-1250 (cp1250 — cp1252 の東ヨーロッパ版)
  • ISO-8859–2 (Windows-1250 とまったく同じではありません)
  • MacRoman (Mac OS 9 以前で使用)
  • cp437 (MS-DOS および Windows コマンド プロンプトの一部のバージョンで使用)

3.スケッチ

Sketch は、Python の pandas ライブラリを使用するユーザー向けに特別に設計されたユニークな AI コーディング アシスタントです。 機械学習アルゴリズムを使用してユーザー データのコンテキストを理解し、データ操作と分析タスクをより簡単かつ効率的に行うために関連するコードの提案を提供します。 Sketch では、ユーザーが IDE に追加のプラグインをインストールする必要がないため、すばやく簡単に使用できます。 これにより、データ関連のタスクに必要な時間と労力が大幅に削減され、ユーザーはより適切で効率的なコードを作成できるようになります。

インストール
!pip インストール スケッチ

このライブラリを使用するには、pandas データフレームに .sketch 拡張子を追加する必要があります。

.sketch.ask

頼む は、ユーザーが自然言語形式でデータについて質問できるようにする Sketch の機能です。 ユーザーのクエリに対してテキストベースの応答を提供します。

# ライブラリのインポート importsketch import pandas as pd # データの読み込み (例として twitter データを使用) df = pd.read_csv("tweets.csv") print(df)
# どの列がカテゴリ タイプであるかを尋ねる df.sketch.ask("どの列がカテゴリ タイプですか?")
出力
# データフレームの形状を調べるには df.sketch.ask("データフレームの形状は何ですか")

.スケッチ.ハウツー

HOWTO は、さまざまなデータ関連タスクの開始点または終了点として使用できるコード ブロックを提供する機能です。 コードのスニペットを要求して、データの正規化、新しい機能の作成、データの追跡、さらにはモデルの構築を行うことができます。 これにより時間が節約され、コードのコピー アンド ペーストが簡単になります。 コードを最初から手動で記述する必要はありません。

# 感情を視覚化するために切り取られたコードの提供を求める df.sketch.howto("感情を視覚化する")
出力

.スケッチ.適用

.apply関数 新しい機能の生成、フィールドの解析、その他のデータ操作の実行に役立ちます。 この機能を使用するには、OpenAI アカウントを取得し、API キーを使用してタスクを実行する必要があります。 この機能は試していません。

このライブラリを使用するのが特に楽しかったです 来ます それは機能しますし、便利だと思います。

4.ジオコード

「pgeocode」は、私が最近偶然見つけた優れたライブラリで、空間分析プロジェクトに非常に役立ちます。 たとえば、XNUMX つの郵便番号間の距離を調べたり、国と郵便番号を入力として取得して地理情報を提供したりできます。

インストール
!pip インストール pgeocode

特定の郵便番号の地理情報を取得する

# 国「インド」を確認 nomi = pgeocode.Nominatim('In') # 郵便番号を渡して地理情報を取得 nomi.query_postal_code(["620018", "620017", "620012"])
出力

「pgeocode」は、国と郵便番号を入力として受け取り、XNUMX つの郵便番号間の距離を計算します。 結果はキロメートルで表されます。

# 620018 つの郵便番号間の距離を求める distance = pgeocode.GeoDistance('In') distance.query_postal_code("620012", "XNUMX")
出力

5.レムグ

rembg は、画像から背景を簡単に削除するもう XNUMX つの便利なライブラリです。

インストール
!pip インストール rembg
# ライブラリのインポート
from rembg import replace import cv2 # 入力画像のパス (私のファイル: image.jpeg) input_path = 'image.jpeg' # 出力画像を保存し、output.jpeg として保存するためのパス Output_path = 'output.jpeg' # 入力を読み取るimage input = cv2.imread(input_path) # バックグラウンドの削除 Output = Remove(input) # ファイルの保存 cv2.imwrite(output_path, Output)
出力

これらのライブラリのいくつかはすでにご存知かもしれませんが、私にとって、Sketch、Pendulum、pgeocode、ftfy はデータ エンジニアリングの仕事に不可欠です。 私は自分のプロジェクトで彼らに大いに依存しています。

6.人間味を与える

Humanize」は、数値、日付、時刻のシンプルで読みやすい文字列フォーマットを提供します。 ライブラリの目的は、データを取得して、たとえば秒数を「2 分前」などの読みやすい文字列に変換するなど、データをより使いやすくすることです。 このライブラリは、数値をカンマでフォーマットしたり、タイムスタンプを相対時刻に変換したりするなど、さまざまな方法でデータをフォーマットできます。

私はデータ エンジニアリング プロジェクトで整数とタイムスタンプをよく使用します。

インストール
!pip install humanize
例(整数)
# ライブラリをインポート import humanize import datetime as dt # 数値をカンマでフォーマットする a = humanize.intcomma(951009) # 数値を単語に変換する b = humanize.intword(10046328394) #printing print(a) print(b)
出力
例(日付と時刻)
import humanize import datetime as dt a = humanize.naturaldate(dt.date(2012, 6, 5)) b = humanize.naturalday(dt.date(2012, 6, 5)) print(a) print(b)

Ercole Palmeri

イノベーションニュースレター
イノベーションに関する最も重要なニュースをお見逃しなく。 メールで受け取るにはサインアップしてください。
タグ: パイソン

最近の記事

子供のためのぬり絵の利点 - すべての年齢層のための魔法の世界

ぬり絵を通じて細かい運動能力を発達させることで、子供たちは書くなどのより複雑なスキルを習得できるようになります。色…

2月2024

未来はここにあります: 海運業界が世界経済をどのように変革しているか

海軍部門は真の世界経済大国であり、150 億市場に向けて舵を切り続けています...

1月2024

パブリッシャーと OpenAI が人工知能によって処理される情報の流れを規制する契約に署名

先週の月曜日、フィナンシャル・タイムズ紙はOpenAIとの契約を発表した。 FT は世界クラスのジャーナリズムにライセンスを供与しています…

4月30 2024

オンライン支払い: ストリーミング サービスで永久に支払いができる仕組みをご紹介します

何百万人もの人々がストリーミング サービスに月額料金を払っています。あなたは…というのが一般的な意見です。

4月29 2024

あなたの言語でイノベーションを読む

イノベーションニュースレター
イノベーションに関する最も重要なニュースをお見逃しなく。 メールで受け取るにはサインアップしてください。

Seguici