引言
- 在一个使用 pandas 做数据分析的项目过程中,再次深刻理解了一下 pandas 中使用 groupby 进行分组的一些细节问题,以及对想要做的操作如何实现,在此记录;
- 问题 1:groupby 分组查看分组结果,以及重设分组列列名
- 问题 2:如何获取分组后的值和分组条件的值(比如有一周内用户访问页面的记录,我们需要拿到用户周几最活跃呢?最活跃的时间段是什么时候?判断最活跃的 count 次数如何获取呢?)
- 注:中间包含一些中间函数的用法,仅供参考;
问题 1:
延伸 1:关于count 和 size 的区别
- 一般来说分组后结果都会接一个聚合函数,如 count,sum,agg 等,但是意外发现了还有 size,特此记录 size 和 count 的区别
- 总结:size计数时包含NaN值,而count不包含NaN值
延伸 1.1 reset_index()函数和 as_index 参数的作用
- 个人理解groupby 内参数 as_index 1可以直接把结果转换成 DF,2就是分组后的重命名(使用参数重命名可以看测试结果,个人感觉不如 reset_index 看着直接)
- 对一个字段分组,剩余俩字段 count 结果也不同(这个是个人的一个认知错误一直以为结果是不参与分组的字段分组后的值是相同的,这只是工作时候使用数据的问题)
- 对一个字段分组,剩余俩字段 count 结果也不同(这个是个人的一个认知错误一直以为结果是不参与分组的字段分组后的值是相同的,这只是工作时候使用数据的问题)
延伸 2:如何查看 groupby 分组结果
- pandas 中 groupby 后结果不是 df 无法直接查看,可以通过循环遍历打印,groups,get_group来查看,如下所示:
- 可以看出返回的内容是由若干个