pandasでグループ化の方法

groupby 関数は DataFrame のデータをグループ分けします。これは、1つまたは複数の列の値に基づいてデータを分割し、各グループに対して集計操作を実行します。

groupby関数の一般的な利用方法は以下の通りです。

df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)

パラメータの説明:

  1. 指定のグループの列名か列名のリスト。 単一の列名の文字列か、複数の列名からなるリストとすることができる。
  2. 行(デフォルト)または列でグループ化する軸を指定します。
  3. データフレームに複数レベルのインデックスがある場合は、グルーピングするインデックスレベルを指定できます。
  4. グループ化の列をインデックスとして使用するかどうか。デフォルトは True。
  5. グループ化後の結果はグループキーでソートされるか(デフォルトはTrue)。
  6. グループキーを最終的に結果に含めるかどうか、既定では True になります。
  7. グループ化後の結果が1列のみの場合に、結果をSeriesとして返すかどうか。デフォルトはFalseです。
  8. すべてのグループキーを考慮するかどうか。デフォルトは False

groupby関数は、グループ分けされたオブジェクトを返却し、それに対して、合計値や平均値を求めるなどの集計操作を実行できます。

ここでは、よく使われるgroupby操作のパターンを示します。

# 按某一列进行分组,并计算每组的平均值
df.groupby('column_name').mean()

# 按多个列进行分组,并计算每组的和
df.groupby(['column_name1', 'column_name2']).sum()

# 对分组后的结果进行聚合操作
df.groupby('column_name').agg({'column_name1': 'sum', 'column_name2': 'mean'})

# 对分组后的结果进行迭代
for group_name, group_data in df.groupby('column_name'):
    # 操作每个分组的数据

# 对分组后的结果应用自定义的函数
df.groupby('column_name').apply(custom_function)

これはgroupby関数の基本的な使用方法です。より詳細な使用方法については、Pandas公式ドキュメントを参照してください。

bannerAds