在数据操作中,经常需要将数据进行分组,然后按组进行操作,这涉及到split & apply 策略
(1)split主要是对数据进行分组,通过groupby进行操作。
grouped = df.groupby('key1')
grouped = df.groupby(['key1', 'key2'])
(2) 然后可以进行分组操作,
grouped['colum'].sum()
grouped['colum'].agg(fun) #自定义函数 fun
grouped['colum'].agg(['mean','std']) #多个函数用于一列
funs = ['mean','std']
grouped['colum'].agg(funs) #多个函数用于一列的其他方法
(3) as_index = False 可以避免将分组键作为索引
(4) 用transform()函数代替agg则可以将每组函数输出作为原始数据的一个新列