您的位置 首页 > 数码极客

pandas如何分割数据库

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

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

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

前言

这是本系列第16篇的文章,之前有小伙伴私信我说,这系列例子太简单了,能给点实际点的例子吗。好吧,这篇来看看如何用 pandas 拆分数据到各个 Excel 文件。

这是入门系列,并且是按 Excel 功能来开展,复杂一点的需求,Excel 自带功能做不到呀


案例1

你的上级一言不合向你扔了一个业绩表:

  • 要求每个部门一个 Excel 文件,发送给各自部门

这样子的需求,就别想啥 Excel 自带功能了,用个 Vba 实现还差不多,只不过你要学习啥数组、字典,这些高大上概念。

看看你怎么用 pandas 漂亮回应你的上级:

  • df.groupby('部门') ,"每个部门 干啥事情",不就是"按部门分组"嘛,没错,就是这么简单的表示
  • .apply ,每个部门干事情,里面的参数就是做的事情
  • x.to_excel(f'res-部门/{x.name}.xlsx',index=False) ,要做啥呢,输出到 Excel 文件啊,就是 to_excel 方法

不会 groupby ?看专栏第9节内容


案例2

当你以为完成工作的时候,这时候上级又找到你,他希望每个部门的 Excel 文件,可以把男女数据分开2个工作表。

你:what the ………………,so easy

代码如下:

  • 比之前复杂多了,其实多了2个部分
  • 不能直接使用 to_excel 方法,因为这方法每次都会生成一个新的文件,由此要先定义
  • 当按性别分组时,调用 to_excel 要传入
  • exl.save(), 记得最后要保存文件

结果如下:


案例3

当你以为可以下班的时候,麻烦又一次找上你,现在各部门负责人不想按性别分开看,而是想看高于部门平均水平和低于平均水平的人。

有了上次经验,简单添加判断 销售额 的语句就可以了:

  • is_over = x_df['销售额'] >= x_df['销售额'].mean() ,得到是否高于平均的值列,当然也是用这列值进行分组

总结

  • Da ,一次输出 Excel 文件
  • + Da ,一个文件输出多个工作表

需要源码的小伙伴请转发本文并私信我"python"

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“pandas如何分割数据库”边界阅读