刚才碰到一个非常简单的需求: 但是我发现大部分人在做这个题的时候,代码写的异常复杂。所以我建议你也不要直接看我的代码,而是先思考一下,你会怎么解决这个问题。 首先读取数据:
结果: 为了后续处理方便,我将不需要参与分组的第一列事先设置为索引。 groupby分组相信大部分读者都使用过,但一直都是按行分组,不过groupby不仅可以按行分组,还可以按列进行分组。 完整处理代码:
结果: 可以看到,非常简单,仅8行以内的代码已经解决这个问题,剩下的只需在保存到excel时设置一下单元格格式即可,具体设置方法可以参考: Pandas指定样式保存excel数据的N种姿势 地址:https://blog.csdn.net/as604049322/article/details/111829106 简单讲解一下吧:
结果:
截取每列列名前4个字符,传入groupby即可作为分组依据,axis=1则指定了groupby按列进行分组而不是默认的按行分组。
表示对分组后的结果去除列名的前5个字符。
表示还原索引为普通的列。
将年份添加到后面单独的一列。 总之这个问题非常简单,相信大部分读者在看到代码后已经秒懂。 |
|