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などのローカルファイル形式の組み込みサポートにより、反復的なデータ分析向けに設計されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト