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