By サティヤムクマール、機械学習愛好家&プログラマー
による写真 ティム・グー on Unsplash
Pandasは、データサイエンティストの中で、データをいじくり回すための最も重要なPythonパッケージのXNUMXつです。 Pandasライブラリは、多数の組み込み関数が付属しているため、主にデータの探索と視覚化に使用されます。 Pandasは、CPUのすべてのコアにプロセスをスケーリングまたは分散しないため、大きなサイズのデータセットを処理できません。
計算を高速化するために、CPUのすべてのコアを利用して、ワークフローを高速化できます。 Dask、Vaex、Modin、Pandarallel、PyPolarsなど、CPUの複数のコア間で計算を並列化するさまざまなオープンソースライブラリがあります。 この記事では、PyPolarsライブラリの実装と使用法について説明し、そのパフォーマンスをPandasライブラリと比較します。
PyPolarsとは何ですか?
PyPolarsは、Pandasに似たオープンソースのPythonデータフレームライブラリです。 PyPolarsはCPUの利用可能なすべてのコアを利用するため、Pandasよりも高速に計算を実行します。 PyPolarsには、Pandasと同様のAPIがあります。 Pythonラッパーで錆びて書かれています。
理想的には、PyPolarsは、データがPandasには大きすぎ、Sparkには小さすぎる場合に使用されます。
PyPolarsはどのように機能しますか?
PyPolarsライブラリにはXNUMXつのAPIがあります。XNUMXつはEagerAPIで、もうXNUMXつはLazyAPIです。 Eager APIはPandasと非常によく似ており、Pandasと同様に、実行が完了した直後に結果が生成されます。 Lazy APIはSparkと非常によく似ており、クエリの実行時にマップまたはプランが形成されます。 次に、CPUのすべてのコア間で実行が並行して実行されます。
(作成者による画像)、PyPolars API
PyPolarsは、基本的にはPolarsライブラリへのPythonバインディングです。 PyPolarsライブラリの最も優れている点は、APIがPandasと類似していることです。これにより、開発者は簡単に利用できます。
インストール:
PyPolarsは、次のコマンドを使用してPyPlからインストールできます。
pip install py-polars
を使用してライブラリをインポートします
import pypolars as pl
ベンチマーク時間の制約:
デモンストレーションには、6.4万のインスタンスを持つ大きなサイズのデータセット(〜25Gb)を使用しました。
(著者による画像)、パンダとパイポーラーの基本操作のベンチマーク時間番号
PandasおよびPyPolarsライブラリを使用したいくつかの基本操作の上記のベンチマーク時間数では、PyPolarsがPandasよりもほぼ2倍から3倍高速であることがわかります。
これで、PyPolarsのAPIがPandasのAPIと非常に似ていることがわかりましたが、それでもPandasのすべての機能を網羅しているわけではありません。 たとえば、私たちは持っていません .describe()
代わりに、PyPolarsの関数を使用できます df_pypolars.to_pandas().describe()
使用法:
(作成者によるコード)
結論:
この記事では、PyPolarsライブラリの実装、使用法、およびいくつかの基本的な操作についてのベンチマーク時間数とPandasとの比較を含む簡単な紹介を取り上げました。 PyPolarsはPandasと非常によく似た動作をすることに注意してください。また、PyPolarsは、それに裏打ちされたメモリが不変であるため、メモリ効率の高いライブラリです。
XNUMXつは通過することができます ドキュメント ライブラリの詳細を理解するため。 Pandasの操作を並列化し、プロセスを高速化できる他のさまざまなオープンソースライブラリがあります。 読む 下記記事 4つのそのようなライブラリを知るために:
4既存のパンダエコシステムを並列化できるライブラリ
これらのフレームワークを使用した並列処理により、Pythonワークロードを分散します
参照:
[1] PolarsドキュメントとGitHubリポジトリ: https://github.com/ritchie46/polars
読んでくれてありがとう
バイオ: サティヤムクマール は機械学習の愛好家でありプログラマーです。 サティヤム 書き込み データサイエンスについて、AIのトップライターです。 彼は、彼の技術的なスキルと能力を活用する機会を提供する組織で、やりがいのあるキャリアを求めています。
元の。 許可を得て転載。
関連する
過去30日間の人気記事
|
|
出典:https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html