在Python的pandas庫中,DataFrame對象支持多種SQL類似的聚合函數
count(): 計算每個分組中的行數。sum(): 計算每個分組中指定列的和。mean(): 計算每個分組中指定列的平均值。median(): 計算每個分組中指定列的中位數。min(): 計算每個分組中指定列的最小值。max(): 計算每個分組中指定列的最大值。std(): 計算每個分組中指定列的標準差。var(): 計算每個分組中指定列的方差。sem(): 計算每個分組中指定列的標準誤差。first(): 返回每個分組中指定列的第一個值。last(): 返回每個分組中指定列的最后一個值。nth(): 返回每個分組中指定列的第n個值。nunique(): 計算每個分組中指定列的唯一值的數量。這些聚合函數可以與groupby()方法結合使用,以按照一個或多個列對數據進行分組并應用聚合操作。例如:
import pandas as pd
# 創建一個示例DataFrame
data = {'A': ['foo', 'bar', 'baz', 'foo', 'bar', 'baz'],
'B': [1, 2, 3, 4, 5, 6],
'C': [2.0, 3.0, 4.0, 5.0, 6.0, 7.0]}
df = pd.DataFrame(data)
# 使用groupby()和agg()方法對數據進行分組和聚合
grouped = df.groupby('A').agg({'B': 'sum', 'C': 'mean'})
print(grouped)
輸出結果:
B C
A
bar 7 4.5
baz 9 5.5
foo 5 3.5
在這個例子中,我們首先根據列’A’對數據進行分組,然后計算每個分組中列’B’的和以及列’C’的平均值。