前言:
眼前朋友们对“python如何恢复编写内容”大致比较珍视,小伙伴们都想要分析一些“python如何恢复编写内容”的相关知识。那么小编在网络上汇集了一些有关“python如何恢复编写内容””的相关资讯,希望姐妹们能喜欢,各位老铁们一起来学习一下吧!最近一直在用pandas,昨天突然想到一个好玩的事情:能不能把一个Excel透视表还原回去呢?
答案当然是可以的,让我们马上开始吧。
读取数据
假设我们拿到是这样的一个透视表:
第一步当然是先加载到内存中。
df1 = pd.read_excel('~/Desktop/data.xlsx', sheet_name='Sheet1', skiprows=[0, 5], usecols=[0,1,2])
我们限定了读取的范围,跳过了第一行求和项和最后一行总计,也跳过了最后一列总计,现在df1长这样:
行列转化
第二步我们以Month为索引进行行列转化:
df2 = df1.set_index(['Month']).stack()
现在df2长这样:
可以看到如果Shanghai所在的行可以也有类似Jan、Feb这样的月份信息,并且第二列和第三列可以标识为City和Sales,那么就是最终的效果了,让我们继续~
重置索引
接下来,我们需要重置索引:
df3 = df2.reset_index()
完成之后的df3长这样:
只差把第二列和第三列改个名字就是最终的版本了!
重命名
df4 = df3.rename(columns={0: 'Sales', 'level_1': 'City'})
最终的版本df4长这样:
写进Excel里看看:
df4.to_excel('~/Desktop/output.xlsx', index=False)写在最后
严格的说,这个“还原”只是还原了部分信息,毕竟透视表的值可能是sum或者平均得到的,因此不可能100%还原到最初的状态。不过作为一个小工具还是挺有趣的。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #python如何恢复编写内容