在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
在上述示例中,我們使用group by將數據按照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
在該示例中,我們按照Name和City兩列進行分組,并計算每個組的薪資總和。結果中的每個組都以組名(Name和City的唯一組合)作為索引,并顯示了對應組的薪資總和。