在Python中,groupby函數是用于對數據進行分組的函數。它通常與其他聚合函數(如sum、count、mean等)一起使用,用于對數據進行分組計算。
groupby函數的基本語法如下:
groupby([key_func])
其中,key_func是一個函數,用于指定分組的依據。通常可以使用lambda函數來指定。
groupby函數返回一個GroupBy對象,可以對該對象進行聚合操作,例如使用sum、count、mean等函數進行計算。
下面是一個示例,對一個包含多個學生姓名和對應成績的字典進行分組計算:
students = [
{'name': 'Alice', 'score': 85},
{'name': 'Bob', 'score': 90},
{'name': 'Alice', 'score': 70},
{'name': 'Charlie', 'score': 75},
{'name': 'Bob', 'score': 80}
]
grouped_students = groupby(students, key=lambda x: x['name'])
上述代碼中,使用lambda函數指定了以’name’為鍵進行分組。groupby函數將返回一個GroupBy對象。
可以使用GroupBy對象的聚合函數進行計算,例如計算每個學生的平均成績:
for name, group in grouped_students:
avg_score = mean([student['score'] for student in group])
print(f"{name}: {avg_score}")
上述代碼使用mean函數計算每個學生組的平均成績,并打印出結果。
總結起來,groupby函數可以根據指定的鍵將數據分組,然后可以使用聚合函數對每個組進行計算。這在處理數據集合時非常有用。