「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

人工知能

ギル・ジェロン、Orca SecurityのCEO&共同創設者-インタビューシリーズ

ギル・ゲロンは、オルカ・セキュリティのCEO兼共同設立者ですギルは20年以上にわたりサイバーセキュリティ製品をリードし、提...

人工知能

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

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

人工知能

アーティスの創設者兼CEO、ウィリアム・ウーによるインタビューシリーズ

ウィリアム・ウーは、Artisseの創設者兼CEOであり、ユーザーの好みに基づいて写真を精密に変更する技術を提供していますそれ...

人工知能

「サティスファイラボのCEO兼共同創設者、ドニー・ホワイト- インタビューシリーズ」

2016年に設立されたSatisfi Labsは、会話型AI企業のリーディングカンパニーです早期の成功は、ニューヨーク・メッツ、メイシ...

人工知能

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

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

人工知能

ファイデムのチーフ・プロダクト・オフィサー、アルパー・テキン-インタビューシリーズ

アルパー・テキンは、FindemというAI人材の獲得と管理プラットフォームの最高製品責任者(CPO)ですFindemのTalent Data Clou...