前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >懂Excel就能轻松入门Python数据分析包pandas(三):制作成绩条

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

作者头像
咋咋
发布2021-09-01 15:07:11
6580
发布2021-09-01 15:07:11
举报
文章被收录于专栏:数据大宇宙数据大宇宙

系列文章:

经常听别人说 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 专栏。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据大宇宙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系列文章:
  • 前言
  • 案例
  • Excel 技巧
  • pandas 做法
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档