在數(shù)據(jù)分析中,使用 pandas 進(jìn)行分組操作是非常常見的。通過對數(shù)據(jù)進(jìn)行分組,可以方便地進(jìn)行聚合、轉(zhuǎn)化和過濾等操作。本文將介紹如何遍歷 pandas 分組對象,并提供詳細(xì)的操作步驟、命令示例及注意事項。
首先,我們需要創(chuàng)建一個示例 DataFrame 來演示分組的操作:
import pandas as pd
data = {
'團(tuán)隊': ['A', 'A', 'B', 'B', 'C', 'C'],
'分?jǐn)?shù)': [88, 92, 85, 95, 80, 82]
}
df = pd.DataFrame(data)
接下來,使用 `groupby` 方法按照 “團(tuán)隊” 列進(jìn)行分組:
grouped = df.groupby('團(tuán)隊')
使用 `for` 循環(huán)可以遍歷分組對象,分組對象會返回每個組的鍵和值:
for name, group in grouped:
print(f"組名: {name}")
print(group)
在這個示例中,`name` 是組的名稱,`group` 是與該組相關(guān)的 DataFrame。
在遍歷每個分組時,可以對組進(jìn)行計算,例如計算每個組的平均分?jǐn)?shù):
for name, group in grouped:
avg_score = group['分?jǐn)?shù)'].mean()
print(f"團(tuán)隊 {name} 的平均分?jǐn)?shù): {avg_score}")
result = grouped.agg({'分?jǐn)?shù)': ['mean', 'max', 'min']})
print(result)
filtered = grouped.filter(lambda x: x['分?jǐn)?shù)'].mean() > 85)
print(filtered)
]]>