Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Polarsの現状

 Polarsの現状

Daiki Katsuragawa

May 23, 2024
Tweet

More Decks by Daiki Katsuragawa

Other Decks in Programming

Transcript

  1. Polarsは技術コミュニティでどのように評価されているか? • 動機: ◦ 他者からのPolarsの評価を把握するため (他者からの評価の特徴は技術コミュニティにおける指標に影響を与える) • 調査方法: ◦ GitHubのリポジトリの累積スター数の推移

    (GitHub REST API[4]により取得したデータから集計) ◦ Qiitaのタグの概要、月間記事数および総いいね数と平均いいね数の推移 (Qiita API[5]により取得により取得したデータから集計) • 備考: ◦ データフレームのデファクトスタンダードである pandas[6]と比較 7 [4] GitHub REST API に関するドキュメント - GitHub Docs(https://docs.github.com/ja/rest?apiVersion=2022-11-28) [5] Qiita API v2ドキュメント - Qiita Developer(https://qiita.com/api/v2/docs) [6] pandas - Python Data Analysis Library(https://pandas.pydata.org)
  2. Polarsは技術コミュニティでどのように評価されているか? • 動機: ◦ 他者からのPolarsの評価を把握するため (他者からの評価の特徴は技術コミュニティにおける指標に影響を与える) • 調査方法: ◦ GitHubのリポジトリの累積スター数の推移

    (GitHub REST API[4]により取得したデータから集計) ◦ Qiitaのタグの概要、月間記事数および総いいね数と平均いいね数の推移 (Qiita API[5]により取得により取得したデータから集計) • 備考: ◦ データフレームのデファクトスタンダードである pandas[6]と比較 15 近年で高く評価されつつある (ただしpandasの壁は高い)
  3. Polarsはどれだけのライブラリから対応されているか? • 動機: ◦ 他のライブラリとどれだけ円滑な連携が可能か(互換性)を把握するため ◦ ライブラリから対応するだけの評価を受けているかを把握するため • 調査方法: ◦

    各ライブラリのドキュメントおよび GitHubリポジトリを調査 • 備考: ◦ ここでの“対応”はPolarsのデータフレームの入力が可能あるいは、 内部でPolarsのデータフレームとして扱っている(活用している)こと ◦ Polarsに対応していないが pandasに対応しているライブラリに対して、 Polarsのto_pandas[7]というメソッドによる変換により連携が可能(リスクはない) 17 [7] polars.DataFrame.to_pandas — Polars documentation (https://docs.pola.rs/py-polars/html/reference/dataframe/api/polars.DataFrame.to_pandas.html#polars-dataframe-to-pandas)
  4. Polarsはどれだけのライブラリから対応されているか? • Polarsのへの対応あるい検討が進んでいるライブラリ(2024/05/23時点) 18 カテゴリ ライブラリ GitHubのスター数 (2024/05/23時点) 機械学習 scikit-learn[8]

    58.4k 機械学習 LightGBM[9] 16.1k [8] Version 1.4 — scikit-learn 1.4.2 documentation(https://scikit-learn.org/stable/whats_new/v1.4.html#dataframe-support) [9] [python-package] Adding support for polars for input data · Issue #6204 · microsoft/LightGBM(https://github.com/microsoft/LightGBM/issues/6204) 主要なライブラリにおいて対応あるい検討が進んでいる
  5. Polarsはどれだけのライブラリから対応されているか? • Polarsのへの対応あるい検討が進んでいるライブラリ(2024/05/23時点) 19 カテゴリ ライブラリ GitHubのスター数 (2024/05/23時点) 可視化 Matplotlib[10]

    19.4 可視化 seaborn[11] 12k 可視化 Plotly[12] 15.4k [10] Visualization - Polars user guide(https://docs.pola.rs/user-guide/misc/visualization/#matplotlib) [11] Visualization - Polars user guide(https://docs.pola.rs/user-guide/misc/visualization/#seaborn) [12] Visualization - Polars user guide(https://docs.pola.rs/user-guide/misc/visualization/#plotly) 主要なライブラリにおいて対応あるい検討が進んでいる
  6. Polarsはどれだけのライブラリから対応されているか? • Polarsのへの対応あるい検討が進んでいるライブラリ(2024/05/23時点) 20 カテゴリ ライブラリ GitHubのスター数 (2024/05/23時点) データバリデーション pandera[13]

    3.1k ウェブアプリケーション Streamlit[14] 32.3k [13] Data Validation with Polars - pandera documentation(https://pandera.readthedocs.io/en/latest/polars.html#data-validation-with-polars) [14] Streamlit(https://roadmap.streamlit.app/#4ea40219) 主要なライブラリにおいて対応あるい検討が進んでいる
  7. Polarsはどれだけのライブラリから対応されているか? • 動機: ◦ 他のライブラリとどれだけ円滑な連携が可能か(互換性)を把握するため ◦ ライブラリから対応するだけの評価を受けているかを把握するため • 調査方法: ◦

    各ライブラリのドキュメントおよび GitHubリポジトリを調査 • 備考: ◦ ここでの“対応”はPolarsのデータフレームの入力が可能あるいは、 内部でPolarsのデータフレームとして扱っている(活用している)こと ◦ Polarsに対応していないが pandasに対応しているライブラリに対して、 Polarsのto_pandas[7]というメソッドによる変換により連携が可能(リスクはない) 21 近年で様々な主要なライブラリにおいて対応あるい検討が進んでいる [7] polars.DataFrame.to_pandas — Polars documentation (https://docs.pola.rs/py-polars/html/reference/dataframe/api/polars.DataFrame.to_pandas.html#polars-dataframe-to-pandas)
  8. Polarsに関する書籍はどれだけ出版されているか? • Polarsに関する出版済みおよび出版予定の書籍(2024/05/23時点) 24 書籍名 言語 発売日 改訂新版 前処理大全 〜SQL/pandas/Polars実践テクニック[15]

    日本語 2024/05/22 Polarsに関する日本語の書籍は1冊が出版済み [15] 改訂新版 前処理大全〜 SQL/pandas/Polars実践テクニック:書籍案内|技術評論社( https://gihyo.jp/book/2024/978-4-297-14138-7)
  9. Polarsに関する書籍はどれだけ出版されているか? • Polarsに関する出版済みおよび出版予定の書籍(2024/05/23時点) 25 書籍名 言語 発売日 Polars Cookbook: Over

    70 practical recipes to transform, manipulate, and analyze your data using Python Polars[16] 英語 2024/11/28 Python Polars: The Definitive Guide: Transforming, Analyzing, and Visualizing Data with a Fast and Expressive Dataframe API[17] 英語 2025/04/29 Polarsに関する英語の書籍は2冊が出版予定 [16] Amazon | Polars Cookbook: Over 70 practical recipes to transform, manipulate, and analyze your data using Python Polars | Kakegawa, Yuki | Data & Information Visualization(https://www.amazon.co.jp/Polars-Cookbook-practical-transform-manipulate/dp/1805121154) [17] Amazon | Python Polars: The Definitive Guide: Transforming, Analyzing, and Visualizing Data with a Fast and Expressive Dataframe API | Janssens, Jeroen, Nieuwdorp, Thijs | Python(https://www.amazon.co.jp/Python-Polars-Definitive-Transforming-Visualizing/dp/1098156080/)
  10. Polarsに関する書籍はどれだけ出版されているか? • 動機: ◦ Polarsという技術の学習に役立つ 体系的な手段としての書籍の出版状況を把握するため • 調査方法: ◦ ウェブ検索による調査

    • 備考: ◦ 現時点での出版予定の書籍も対象 26 近年で少しずつ冊数は増加しつつある (日本語の書籍は1冊が出版済み、英語の書籍は2冊が出版予定)
  11. まとめ • “Polarsの現状”の調査(2024/05/23時点)に基づいて、 Polarsを採用する意思決定の参考となる情報を紹介 • 調査①:Polarsは技術コミュニティでどのように評価されているか? ◦ 近年で高く評価されつつある (ただしpandasの壁は高い) •

    調査②:Polarsはどれだけのライブラリから対応されているか? ◦ 近年で様々な主要なライブラリにおいて対応あるい検討が進んでいる • 調査③:Polarsに関する書籍はどれだけ出版されているか? ◦ 近年で少しずつ冊数は増加しつつある (日本語の書籍は1冊が出版済み、英語の書籍は 2冊が出版予定) 27