乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel成绩表-懂Excel就能轻松入门Python数据分析包pandas(三):制作成绩条

excel成绩表-懂Excel就能轻松入门Python数据分析包pandas(三):制作成绩条

作者:乔山办公网日期:

返回目录:excel表格制作

转发本文并私信我"python",即可获得Python资料以及各种心得(持续更新的)


经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas


前言

很多从未接触 pandas 的小伙伴看到相关资料后,会觉得这玩意无法处理像 Excel 那样格式复杂多变的数据。其实 pandas 比起手动操作、透视表操作甚至 Vba 操作,他可以更灵活快速处理复杂形状的数据。


这次,我们来看看怎么用 pandas 一次生成各种形如工资条的格式数据。



案例

继续沿用成绩单数据:


我们希望把每位学生的成绩单独列出来,也就是一行记录成为一个小表:



Excel 技巧

用 Excel 自带功能可不可以批量完成这个工作呢?当然可以,只不过需要许多技巧。但我总是说,思路比方法更重要,这是因为,如果你理解这 Excel 操作过程,同样的思路就可以应用在 pandas 中。


看看 Excel 是怎么完成此需求的,我们用10条记录做演示:


  • 添加辅助序列,每个数值相隔2(这是因为结果数据每行相隔2行)

  • 在辅助列下面,生成序列(结束值为上一步序列的尾数)
  • 使用 Excel 自带的生成系列功能即可

  • 批量添加标题行
  • 从3开始,每隔3行设置一标题

  • 去除重复的序列行

  • 最后根据辅助列排序,即可得到结果

pandas 做法

pandas 中有多种实现方式,本节先介绍与上述 Excel 的解决思路基本一致的方式。如下:


  • 修改行索引值,相当于 Excel 的第一步

  • reindex 可以给予不存在的行索引值,此时那些行会变成空行
  • 相当于 Excel 中的第二与第四步

  • 最后,把从索引3开始,每隔3行赋值列标题即可

完整代码如下:



最后

本文介绍的方式实际限制比较大,比如不能按任意维度划分等,并且需要使用者对 pandas 中的索引有深入理解。下次将介绍一种通用的方式,而且还可以在每个小表格中添加汇总行。


如果希望从零开始学习 pandas ,那么可以看看我的 pandas 专栏。


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网