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()#方差

猜你喜欢

转载自blog.csdn.net/starmoth/article/details/84591473