1. 程式人生 > >pandas的groupby

pandas的groupby

作用:
groupby操作的是所有操作標籤相同的數
比如data.groupby(‘col1’)操作的是所有col1標籤相同的行他們列相加
例如下面一個dataframe

   A  B    C
0  a  2  102
1  b  8   98
2  a  1  107
3  c  4  104
4  a  3  115
5  c  2   87
6  b  5   92
7  c  9  123

df.groupby('A').mean()

A    B           C                 
a  2.0  108.000000
b  6.5   95.000000
c  5.0  104.666667
#將所有a相加求平均值,(2+3+1)/3=2就有了Ba的值,(102+115+107)/3=108就有了Ca的值,以此類推

data.groupby(‘col1’)#將data按照col1劃分
df.groupby([ ‘col1’, ‘col2’ ]) #將df也可以按多個列劃分,先按col1 劃分,在劃分好的子集內再按col2劃分。
data.groupby(‘col1’).mean() #均值
data.groupby(‘col1’).count() #每個子集的大小(類似於count())
data.groupby(‘col1’).sum() #加和
data.groupby(‘col1’).std()#標準差
data.groupby(‘col1’).argmin()/argmax() 計算能夠獲取到最小值/最大值的索引位置(整數)
data.groupby(‘col1’).idxmin()/idxmax() 計算能夠獲取到最小值/最大值的索引值
data.groupby(‘col1’).var()#方差