PyCon JP 2024

データフレームライブラリ徹底比較
2024-09-28 , 20F Track2

データフレームとは、データサイエンスや機械学習、データエンジニアリング、ウェブ開発等、さまざまな分野で広く使用されてる表形式のデータ構造です。Pythonにおいては、長年にわたってpandasがデータフレームの機能を提供するライブラリのデファクトスタンダードとして位置づけられてきました。近年では、性能向上や特定の場面への適応を目的として、データフレームの機能を提供する新たなライブラリも公開されています。この時、プロジェクトに最適なライブラリを選択するために、これらの違いの多角的な理解が重要な課題となります。本発表では、2024年9月時点での情報に基づき、データフレームの機能を提供する主要なライブラリ(pandas、Polars、PySpark、Dask、Modin、FireDucks等)を様々な観点から比較します。これにより、参加者が自身のプロジェクトに最適なライブラリを選択するための知識と洞察を得ることを目指します。


背景

データフレームとは、データサイエンスや機械学習、データエンジニアリング、ウェブ開発等、さまざまな分野で広く使用されてる表形式のデータ構造です。これらの分野では、大量のデータを効率的に操作し、分析するためのツールが必要不可欠であり、そのためにデータフレームが使用されます。Pythonにおいては、長年にわたってpandasがデータフレームの機能を提供するライブラリ(以下、データフレームライブラリ)のデファクトスタンダードとして位置づけられてきました。近年では、性能向上や特定の場面への適応を目的として、新たなデータフレームライブラリも公開されています。

動機

プロジェクトに最適なライブラリを選択するために、データフレームライブラリの違いを多角的に理解することが重要な課題となります。具体的には、処理性能、実装機能、利用状況、サポート状況、学習コスト等の違いの理解が必要となります。

目的

本発表では、2024年9月時点での情報に基づき、主要なデータフレームライブラリ(pandas、Polars、PySpark、Dask、Modin、FireDucks等)を様々な観点から比較します。これにより、参加者が自身のプロジェクトに最適なライブラリを選択するための知識と洞察を得ることを目指します。

予定稿

  1. 自己紹介
  2. 発表概要
    • 背景
    • 動機
    • 目的
  3. データフレームライブラリの紹介
    • 主要なデータフレームライブラリ(pandas、Polars、PySpark、Dask、Modin、FireDucks等)の概要を紹介
  4. データフレームライブラリの比較
    1. 処理性能の比較
      • パフォーマンス検証に基づき各ライブラリの処理速度およびメモリ効率(大規模データ処理や並列処理の能力)を比較
    2. 実装機能の比較
      • 各ライブラリが提供する機能(特定のデータ操作のサポート、特にGPU対応可否等)を比較
    3. 利用状況の比較
      • ソフトウェアエコシステムにおける各ライブラリの普及状況や利用頻度(依存関係)を比較
      • プラットフォームおよびコミュニティにおける評価を比較
    4. サポート状況の比較
      • 主要なライブラリからのサポート状況を比較
    5. 学習コストの比較
      • デファクトスタンダードであるpandasとの差分を基準として操作性を比較
      • 参考となる記事や書籍の豊富さを比較
  5. まとめ

調査対象


Why did you choose this topic?:

私は普段からデータフレームライブラリを活用しており、しばらくの間、デファクトスタンダードであるpandasを使用してきました。しかし、最近ではPolarsをはじめとする代替ライブラリの使用も試みています。この過程で、各ライブラリの違いを実感しました。最適なデータフレームライブラリを選択することはパフォーマンスや生産性に直結する重要な意思決定です。しかし、複数の選択肢が存在する中で、どのライブラリが最適かを判断するのは容易ではありません。この課題を解決するために、主要なデータフレームライブラリの比較についての調査結果を共有することで、自身のプロジェクトに最適な選択をするための有益な情報を提供し、本題材に関して、コミュニティ内での議論に繋げたいと考えています。

Knowledges and know-how the audience can get from your talk:

主要なデータフレームライブラリ(pandas、Polars、PySpark、Dask、Modin、FireDucks)について概要を把握し、いくつかの観点で比較した調査結果に基づく特徴の理解が可能です。これにより、参加者は自身のプロジェクトに最適なデータフレームライブラリを選択するための知識と洞察を得ることができ、ライブラリ選択に関する意思決定の参考となることが期待されます。

Prior knowledges speakers assume the audience to have:

Pythonの基本的な知識、データフレームの基本概念を理解していることを前提とします。

Audience experiment:

Beginner

Language of presentation:

日本語

Language of presentation material:

日本語

See also: データフレームライブラリ徹底比較