パンダのgroupbyメソッドの使い方は何ですか?

Pandasのgroupby()は、データをグループ化するために使用されます。groupby()を使用すると、指定した列や複数の列に基づいてデータをグループ化し、各グループに対して統計量の計算、集約、変換などの操作を行うことができます。

groupby()の基本的な使い方は、

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

パラメータの説明:

  1. グループ化する列を指定することができます。単一の列名、複数の列名のリスト、シリーズ、辞書、関数などを使用できます。デフォルトはNoneで、DataFrame全体をグループ化します。
  2. axis:指定されたグループの軸、0は行ごとにグループ化、1は列ごとにグループ化を意味し、デフォルトは0です。
  3. レベル:DataFrameに多レベルのインデックスがある場合、どのレベルのインデックスでグループ化するかを指定できます。デフォルトはNoneです。
  4. as_index:指定したグループ化された結果をグループ列をインデックスとして使用するかどうかを指定します。デフォルトはTrueです。
  5. sort:グループ化された結果をグループ列でソートするかどうかを指定します。デフォルトはTrueです。
  6. group_keys:分組後の結果にグループキーを表示するかどうかを指定します。デフォルトはTrueです。
  7. squeeze:指定分组后是否对单个组的结果进行压缩,默认值为False。
  8. observed: 観察されたグループの全ての値を使用してグルーピングするかどうかを指定します。デフォルトはFalseです。
  9. dropna:欠損値を含むグループキーを排除するかどうかを指定します。デフォルトはTrueです。

groupby()メソッドはGroupByオブジェクトを返し、このオブジェクトに対してsumやmeanなどの集約関数を適用したり、データをフィルタリングしたり、データを変換したりすることができます。

GroupByオブジェクトのメソッドを使用することで、具体的な操作を実行できます。例えば、

  1. agg() 関数を使用して、各グループごとに集計操作を行います。
  2. apply():各グループにカスタム関数を適用します。
  3. transform():各グループに対して変換関数を適用します。
  4. filter()関数:条件に基づいてデータを選別します。

サンプルコード:

import pandas as pd

# 创建一个DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
        'Subject': ['Math', 'English', 'Math', 'English', 'Math', 'English'],
        'Score': [85, 90, 92, 78, 82, 88]}
df = pd.DataFrame(data)

# 按照Name列进行分组,并计算每个分组的平均分数
result = df.groupby('Name')['Score'].mean()
print(result)

結果を出力します。

Name
John    90.0
Nick    86.0
Tom     81.5
Name: Score, dtype: float64

この例では、まずName列でグループ化し、それから各グループの平均スコアを計算します。結果は、インデックスがグループの一意な値(Name列の値)、値が各グループの平均スコアであるSeriesとなります。

bannerAds