python多个坐标轴画多个柱状图_合并多个Excel文件,3个案例教你Python合并数据,就几行代码搞定...
发布日期:2022-02-19 00:02:21 浏览次数:9 分类:技术文章

本文共 1011 字,大约阅读时间需要 3 分钟。

此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd

转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的)

6030bdb747b09934326000b428df7463.png

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

前言

本系列上一节说了拆分数据的案例,这次自然是说下怎么合并数据。

随着需求复杂度提高,很多时候已经不能用 excel 自带功能实现了,不过 pandas 中许多概念与 excel 不谋而合


案例1

公司的销售系统功能不全,导出数据时只能把各个部门独立一个 Excel 文件,此时你需要对整体数据做分析,最好的方式当然是先把各个文件统一汇总起来:

cc986581b52d096d68b23938139ccd53.png
  • 注意看,虽然每个表的标题一样,但是他们的顺序可能出现不一致

这里有3个关键点:

  • 如何获得一个文件夹中所有文件的路径
  • 加载 Excel 文件数据
  • 列标题对齐的情况下,多个数据合并

这次我们需要用到3个包:

7e04220ce5ff89cdcf14e9daf8d51357.png
  • pandas 不用多说
  • from pathlib import Path ,用于获取文件夹中文件的路径
  • openpyxl 用于读取 Excel 文件所有的工作表

我们来看看如何用 pandas 完成需求:

8a1c17b6c70ab9a6b6eb8f03127d562b.png
  • Path('案例1').glob('*.xlsx') ,获得指定文件夹(案例1)中的所有 Excel 文件路径
  • pd.read_excel(f) ,加载 Excel 数据
  • pd.concat(dfs) ,合并多个数据,pandas 自动进行索引对齐

关于 pathlib 的知识点,请关注公众号的入门必备系列文章


上面是普通的写法,这场景我倾向于使用推导式:

038d4641a6c54a3d4ecba3a3dea0814e.png

推导式内容,请看 数据大宇宙 > Python入门必备 > 必备知识 > 细讲Python推导式


beb3e6d1236fb2c2d86c62f87e6c2273.png

案例2

有时候,表格中没有必要的信息,如下:

277855662cc0f503ac080e4fbc08017a.png
  • 这次表格中没有部门列,部门的信息只能在文件名字中获取

1852406525e026bcfcf3b10931977acf.png
  • df['部门'] = f.stem ,pandas 中添加一列值是非常容易。f.stem 是不带后缀的文件名字

为什么上面不用推导式呢?因为推导式只适合一行连续调用的写法,当然这里还是可以使用推导式实现的:

6c9090866cc5c390132f839cc948bebc.png
  • DataFrame.assign(部门=f.stem) 是一个添加列并且返回修改后的数据的方法,特别适合这种场景下使用

各种创建或移除行列数据的应用,请留意专栏文章

转载地址:https://blog.csdn.net/weixin_34238178/article/details/112207029 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:android按住录音按钮_最远15米闻声识字!讯飞智能录音笔SR501评测:话音刚落文稿已成...
下一篇:kali系统的u盘安装过程_使用U盘安装Windows操作系统

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月16日 00时56分24秒