Group_by と集約
メニューを表示するにはスワイプしてください
データのグループ化と集約は、特にカテゴリごとに情報を要約したい場合において、データ整形の中核的な作業です。Polarsを使用すると、グループ化操作や集約処理を効率的かつ並列に実行できるため、大規模なデータセットにも最適です。たとえば、games_df、developer、price、positive_reviews などのカラムを持つ negative_reviews というDataFrameがあるとします。各開発者ごとに平均価格や総レビュー数を求めたい場合があります。Polarsでは、group_by メソッドと mean や sum などの集約関数を組み合わせてこれを実現できます。
以下は、games_df を developer カラムでグループ化し、平均価格を計算し、レビュー総数(ポジティブレビューとネガティブレビューの合計)を集計する方法です。
123456789101112131415161718192021import polars as pl # Sample data games_df = pl.DataFrame({ "developer": ["DevA", "DevB", "DevA", "DevC", "DevB"], "price": [10.0, 20.0, 15.0, 30.0, 25.0], "positive_reviews": [100, 150, 200, 80, 120], "negative_reviews": [10, 20, 15, 5, 8] }) # Group by developer, calculate average price and total reviews result = ( games_df .group_by("developer") .agg([ pl.col("price").mean().alias("avg_price"), (pl.col("positive_reviews") + pl.col("negative_reviews")).sum().alias("total_reviews") ]) ) print(result)
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 1
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 1