主要是记录一下pandas学习,最近要统计一个数据,我向以前stata里面有一个很好用的函数,就是tabstat,可以分组统计,并且输出很多指标。
最近处理数据我的数据是这样的。
我向按照 valid_num分组,统计avg_stand的均值,标准差,最大,最小。最先想到是的stata的tabstat,以前用的很舒服。现在换python了。感觉可以用groupby,但是不知道怎么用。百度了 一下。
group1 = df_avg.groupby('valid_num')
group1['avg_stand'].agg(['mean', 'std', 'count'])
可以这么用就,输出一些,基本上是想要的。
可以得到这个结果。
另外,我需要把 valid_num分一个组,比如分成,
valid_grp = pd.cut(valid_num, [0, 1, 2, 3, 4, 5, 10, 50, 100, 200])
分完组之后,在统计,也是可以的。
df_avg['vld_grp'] = valid_grp
group2 = df_avg.groupby('vld_grp')
group2['avg_stand'].agg(['mean', 'std', 'max', 'min', 'median']).to_clipboard()
得到结果是: