「Pandasのスケーリング入門」

Pandas Scaling Introduction

編集者注:Doris Leeは、この10月30日から11月2日まで開催されるODSC Westの講演者です。彼女のトーク「コードの一行を変更するだけでデータサイエンスワークフローをスケーリングする」をぜひチェックしてください!

pandasは現在最も人気のあるデータサイエンスライブラリの一つです。最近のStackOverflowの調査によると、開発者の4人に1人が使用しています。また、ほとんどの導入データサイエンスコースやブートキャンプで教えられるデファクトのデータサイエンスライブラリでもあります。

pandasは、小規模なデータセットでのクイックなプロトタイピングには非常に優れていますが、大規模なデータセットを扱う際にはしばしば問題が発生します。

なぜPandas ≠ スケール 🤦

これは、pandasのいくつかの基本的な設計上の決定に起因しています。Pandasはインメモリデータ構造であり、つまり作業中のデータをメモリに収める必要があります。その結果、中程度のサイズのデータセットでもメモリ不足のエラーが簡単に発生することがあります。

Modinの紹介:一行のコードを変更するだけでpandasをスケーリングする

これらの問題に対処するために、私たちはModinを開発しました。これは、pandasのスケーラブルな置き換えです。Modinは、データフレームの基礎となる抽象化であるデータフレームについての最先端の学術研究を活用し、データベースと分散システムの最良の部分をデータフレームにもたらします。Modinを使用するには、次のようにインポートステートメントを置き換えるだけです:

#import pandas as pd
import modin.pandas as pd
df = pd.read_csv("bigdata.csv")

インポートステートメントを変更したら、pandasと同様にModinを使用する準備が整いました!パンダスのコードを変更することなく、ノートパソコンで4倍の高速化を簡単に実現できます!

データウェアハウスでスケールのあるpandasを実行する 🚀

ほとんどのエンタープライズデータチームは、Snowflake、BigQuery、DuckDBなどのデータベースやデータウェアハウスにデータを保存しています。しかし、pandasでそのデータを扱おうとすると、データセットを自分のマシンのメモリに取り込む必要があるため、遅くなったり、費用がかかったり、致命的なメモリ不足の問題が発生することがあります。

Ponderは、あなたのpandasコードをデータウェアハウスが理解できるSQLに変換することで、この問題を解決します。その結果、お気に入りのpandas APIを使用できますが、データパイプラインは最も堅牢で最適化されたデータインフラストラクチャの一つであるデータベース上で実行されます。

以下は、簡単に始める方法です:

import modin.pandas as pd 

import ponder
ponder.init()

次に、データベース接続を設定します。Ponderは現在、Snowflake、BigQuery、DuckDBをサポートしています:

#SnowflakeのPythonコネクタを使用
import snowflake.connector
db_con = snowflake.connector.connect(user=**, password=**, account=**, role=**, database=**, schema=**, warehouse=**)

Ponderでは、read_sqlは単にデータウェアハウスのテーブルに接続を確立します。データはデータウェアハウスに保持され、実行されるすべての後続のpandasコマンドはデータウェアハウスでSQLクエリとして実行されます。

df = pd.read_sql("DB_TABLE",db_con) #注意:データはメモリに読み込まれません!

# pandasで操作を実行 - すべてがSnowflake上で実行されます!
df.describe() # 概要統計の計算

データベース内ですべてを直接実行することで、データウェアハウスのスケーラビリティを継承します。Ponderを使用すると、1テラバイト以上のデータでpandasを実行できます。SnowflakeとBigQuery上で150M行のデータを扱う際に、2時間以上の開発時間を節約できることを示しました。

Pythonのデータワークフローをデータウェアハウスで実行するために、今すぐここでサインアップしてください!始める方法については、クイックスタートガイドをご覧ください。

著者について:

Doris LeeはPonderのCEO兼共同創設者です。Dorisは2021年にUCバークレーのRISE Labと情報学部で博士号を取得し、データサイエンティストがデータを探索し理解するのを支援するツールを開発しました。彼女は2023年のForbes 30歳未満エンタープライズテクノロジー部門の受賞者です。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「パクストンAIの共同創業者兼CEO、タングイ・シャウ - インタビューシリーズ」

タングイ・ショウは、Paxton AIの共同創設者兼CEOであり、法的研究と起草の負担を軽減するためにGenerative AIを使用するプラ...

人工知能

「aiOlaのCEO兼共同創設者、アミール・ハラマティによるインタビューシリーズ」

アミール・ハラマティは、aiOlaのCEO兼共同創業者であり、スピーチを作業可能にし、どこでも完全な正確さで業界固有のプロセ...

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

人工知能

「クリス・サレンス氏、CentralReachのCEO - インタビューシリーズ」

クリス・サレンズはCentralReachの最高経営責任者であり、同社を率いて、自閉症や関連する障害を持つ人々のために優れたクラ...

人工知能

「マーク・A・レムリー教授による生成AIと法律について」

データサイエンス内で新しい分野が現れ、研究内容が理解しにくい場合は、専門家やパイオニアと話すことが最善です最近、私た...

人工知能

ディープAIの共同創業者兼CEO、ケビン・バラゴナ氏- インタビューシリーズ

ディープAIの創設者であるケビン・バラゴナは、10年以上の経験を持つプロのソフトウェアエンジニア兼製品開発者です彼の目標...