Polars DataFrame ライブラリの使用
pandas
Python プログラミング言語の上に構築された、高速、強力、柔軟で使いやすいオープン ソースのデータ分析および操作ツールです。 これにより、大規模なデータセットに対してデータ ラングリング、集計、視覚化操作を簡単に実行できます。
ただし、Pandas の使用を停止することをお勧めします。 今日はより強力なライブラリを紹介するからです。 ポラーズです。
Polars は Rust で実装された高速なライブラリです。 Polars のメモリ モデルは Apache Arrow に基づいています。 py-polars は極座標への python バインディングであり、極座標によってサポートされるデータ型と操作の小さなサブセットをサポートします。 py-polars の最も良い点は、pandas に似ているため、ユーザーが新しいライブラリを簡単にオンにできることです。
この pypolars の簡単な紹介では、ライブラリとその機能について説明しました。 pypolars はその熱心な API で pandas と同様に機能するため、pandas に精通している人にとっては使いやすいことに注意してください。 さらに、pypolars は NumPy の ufunc 機能とシームレスに統合されているため、特定の操作が pypolars でサポートされていない場合に NumPy を使用できます。
Polars はメモリ効率の高いライブラリでもあります。不変メモリを使用するため、クローンまたはスライスの作成は非常に費用対効果が高いからです。
pypolars の傑出した機能の 1 つは、大規模なデータセット用に最適化され、時間と空間の複雑さを軽減する遅延 API です。 これにより、パイポーラーは大規模なデータセットを処理するための費用対効果の高い選択肢になります。 ここでパイポーラーの性能比較を見ることができます。 詳細については、pypolars のドキュメントを参照することをお勧めします。
インストール Polars
次のコマンドを使用して(仮想)環境で:
!pip install -U polars
import polars as pl# with a tuple
series = pl.Series("a", [1, 2, 3, 4, 5])
print(series)
もっている DataFrame
から作成されます dict
またはコレクション dicts
.
Polars は一般的に Pandas よりも優れたパフォーマンスを発揮しますが、これがすべてではありません。 pypolars は多くの点で Pandas に似ていますが、例で Rust を使用しているため、同じ結果を得るにはより多くのコードが必要になる場合があります。 これにより、実行時ではなくビルド段階でエラーをキャッチすることで、コードをより堅牢にすることができます。 ただし、複雑さが増すと、ライブラリに慣れていない人にとっては直感的でなくなる可能性があることに注意してください。そのため、どちらを使用するかを決定する前に、pypolar の習熟度を考慮することが重要です。
「それはあなたの特定のニーズと状況に依存します。 センサー データ、継続的な研究データ、財務データなどの大量のデータを定期的に処理する場合、データ パイプラインを最適化し、クラウド リソースを節約できる可能性があるため、pypolar の使用を検討する価値があります。 一方、データセットを 1 回か 2 回だけ分析する必要がある場合は、特に科学コミュニティの場合は、Pandas がより適切な選択肢になる可能性があります。 Python バージョンの pypolars を使用するオプションもあります。これについては、今後のブログ投稿で説明します。 最終的には、Rust のコツをつかめば楽しく作業できる興味深いツールであるため、決定に関係なく pypolars を検討する価値があります。」
Polars は、pandas がサポートする Apache Arrow の上に構築されています。 そのため、ほぼゼロのオーバーヘッドで polars データフレームを pandas に簡単に変換できます。 私は極性を使用して難しい部分を行い、視覚化のためにパンダに戻ります
https://www.codemag.com/Article/2212051/Using-the-Polars-DataFrame-Library#:~:text=Polars%20represents%20data%20internally%20using,more%20parallel%20operations%20than%20Pandas.
https://studioterabyte.nl/en/blog/polars-vs-pandas