欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

pandas 分组统计的三个函数 pivot table crosstab groupby

发布时间:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 pandas 分组统计的三个函数 pivot table crosstab groupby 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最近在做数据,记录一下遇到的问题,解决的方式,

有一个数据,如图

我想统计每年的idx_reply, idx_sat, idx_default的频数 交叉统计。

探索了一下午,做法是这样的。

data_testdata_test.groupby(data_test['year'])['idx_reply'].value_counts().unstack()

使用groupby 默认会把分组的作为索引 ,如果不用 unstack, 就会是这样

用了unstack ,就整齐一点

同样的效果,也可以使用crosstab 达到。

pd.crosstab(index=data_test['year'], columns=data_test['idx_reply'])

使用pivot_table,没有办法弄出上面的效果。

感觉就是crosstab命令做直接。还可以计算百分比

这里crosstab的margins 选项是

normalize : bool, {'all', 'index', 'columns'}, or {0,1}, default FalseNormalize by dividing all values by the sum of values.- If passed 'all' or `True`, will normalize over all values.- If passed 'index' will normalize over each row.- If passed 'columns' will normalize over each column.- If margins is `True`, will also normalize margin values.

后续还会继续学习。

总结

以上是生活随笔为你收集整理的pandas 分组统计的三个函数 pivot table crosstab groupby的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。