Python polars
ライブラリ完全ガイド
Python の polars
ライブラリは、高速かつメモリ効率の良いデータフレーム操作を可能にする次世代のデータ分析ツールです。特に大規模データの処理において優れたパフォーマンスを発揮します。本記事では polars
の主要機能と使い方を、コピー機能付きコードブロックで紹介します。
1. polars
ライブラリの概要
- Rust ベースで構築されており、非常に高速。
pandas
ライクな API を提供しつつ、非同期処理やマルチスレッドを活用。- lazy モードと eager モードの両方をサポート。
インストール方法
pip install polars
2. 主な機能と使用例
(1) DataFrame の作成
import polars as pl df = pl.DataFrame({"名前": ["Alice", "Bob"], "年齢": [25, 30]}) print(df)
(2) CSV ファイルの読み込み
df = pl.read_csv("data.csv") print(df.head())
(3) フィルタリング(条件抽出)
filtered = df.filter(pl.col("年齢") > 25) print(filtered)
(4) 集計(groupby)
df = pl.DataFrame({"カテゴリ": ["A", "B", "A"], "売上": [100, 200, 150]}) gb = df.groupby("カテゴリ").agg(pl.col("売上").sum()) print(gb)
(5) ソート
sorted_df = df.sort("売上", descending=True) print(sorted_df)
(6) 列の追加・変更
df = df.with_columns([ (pl.col("売上") * 1.1).alias("税込売上") ]) print(df)
(7) null 値の処理
df = df.fill_null("不明") print(df)
(8) LazyFrame(遅延評価)
df_lazy = df.lazy().filter(pl.col("売上") > 100).collect() print(df_lazy)
(9) データの結合(join)
df1 = pl.DataFrame({"ID": [1, 2], "名前": ["Alice", "Bob"]}) df2 = pl.DataFrame({"ID": [1, 2], "年齢": [25, 30]}) df_joined = df1.join(df2, on="ID") print(df_joined)
(10) 書き出し(CSV 保存)
df.write_csv("output.csv")
3. polars
の主な機能まとめ
機能 | 説明 |
---|---|
DataFrame / LazyFrame |
高速かつ柔軟なデータ構造(遅延評価対応) |
read_csv , write_csv |
高速な読み込み・書き出し |
groupby , agg |
高性能な集計処理 |
with_columns |
複数列の一括追加・変換 |
join |
異なる DataFrame の結合 |
まとめ
polars
は、pandas
に代わる次世代のデータ処理ライブラリとして注目されています。大規模データや高速処理が求められる場面で強力な武器になるため、パフォーマンス重視の分析にはぜひ活用してみましょう!