ibis-project/ibis
the portable Python dataframe library
解決する課題
Ibisは、データ分析における断片化の問題を解決します。一般に、Pythonのデータフレームライブラリは特定の実行エンジンに結び付けられており、多くのデータベースはSQLインターフェースのみを提供しています。Ibisは、20以上の異なるバックエンドで動作する単一のポータブルなPython APIを提供し、特定のエンジンに縛られることなく、コードを一度書けばどこでも実行できます。
仕組み
Ibisは翻訳層として機能します。標準のPythonデータフレームAPIを使用してデータ操作コードを記述すると、Ibisはこれらの「遅延」式を選択したバックエンドのネイティブ言語にコンパイルします。通常、データベースではSQL、PolarsやDataFusionなどのエンジンでは特定のデータフレーム操作に変換されます。これにより、ローカル開発とリモートデプロイを1行のコードを変更するだけで切り替えることができます。
対象ユーザー
Ibisは、現代のSQLデータベースや特殊な実行エンジンのパワーとスケールを活用しながら、データ操作にPythonの柔軟性を使用したいデータサイエンティスト、アナリスト、エンジニア向けです。ローカルプロトタイピングから本番環境への移行時に分析コードを書き直すことを避けたい人に最適です。
主な特徴
- ポータブルAPI: DuckDB、BigQuery、Snowflake、PostgreSQLを含む20以上のバックエンドで同じコードを使用できます。
- PythonとSQLの統合: Pythonのデータフレーム式と生のSQLクエリをシームレスに組み合わせられます。
- 遅延評価: 式は必要なときにのみコンパイルおよび実行されるため、パフォーマンスが最適化されます。
- 対話的な探索: CSVやParquetなどのローカルファイル形式の組み込みサポートにより、反復的なデータ分析向けに設計されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト