上图中可以看到部门人数和运营成本两列的类型为
object
,即字符串类型
创建临时列,把要合并的列先合并了,分组后,直接操作这个临时列就可以了
新增一列
部门人数:运营成本
,该列的目的是按
公司
与
部门
把每组内部的
临时合并
一列中的内容组合在一起,这里用的是 transform,不改变原始 df 的行数,只是在原有 df 上增加分组合并的内容
因为上一步用的是 transform,因此处理过的 df 存在重复值,需要去重
上图显示了如何添加合并列,如何分组并合并每组中的内容,可以看到输出的 df 与原始 df 的行数一样都是 6 行,这就是 transform 的特性,虽然分组 groupby,但不是减少行数
选择需要输出的列,如
公司
、
部门
、
部门人数:运营成本
,然后去重,就可以得到想要的结果了
补充说明,群友当时还想输出为 JSON 格式,pandas 提供了
to_json
方法,可以将 dataframe 输出为 JSON 格式,本篇重点不是这个,就先不介绍了,有兴趣的朋友,可以去官网搜索
to_json
,自己看下。
要查看源码,请在 python大咖谈后台输入
分组合并
,下载完整的 ipynb 文件