Pythonでのgroup byの使い方は何ですか?

Pythonでのgroup byは、特定の列でデータセットをグループ化する操作の一つです。通常、sum、count、avgなどの集約関数と一緒に使用され、各グループごとに計算を行います。

Group by を使用するためには、データを処理するために pandas ライブラリの DataFrame オブジェクトを使用することができます。以下に一つの例を示します:

import pandas as pd

# 创建一个示例数据集
data = {'Name': ['John', 'Mike', 'Sarah', 'John', 'Mike'],
        'Age': [25, 30, 28, 25, 30],
        'City': ['New York', 'Chicago', 'Los Angeles', 'New York', 'Chicago'],
        'Salary': [50000, 60000, 55000, 50000, 55000]}

df = pd.DataFrame(data)

# 按照Name列进行分组,并计算每个组的平均薪资
grouped = df.groupby('Name')['Salary'].mean()

print(grouped)

結果は出力されました。

Name
John     50000.0
Mike     57500.0
Sarah    55000.0
Name: Salary, dtype: float64

上記の例では、Name列でデータをグループ化し、各グループの平均給与を計算しました。結果では、各グループはグループ名(Name列のユニークな値)をインデックスとして持ち、対応するグループの平均給与が表示されています。

複数の列をグループ化することもできます。以下は例です。

grouped = df.groupby(['Name', 'City'])['Salary'].sum()

print(grouped)

結果は出力されます。

Name   City       
John   New York      100000
Mike   Chicago       115000
Sarah  Los Angeles    55000
Name: Salary, dtype: int64

この例では、名前と都市の2列でグループ化し、各グループの給与総額を計算する。結果の各グループは、グループ名(名前と都市のユニークな組み合わせ)をインデックスとして持ち、対応するグループの給与総額を表示しています。

bannerAds