有网友问python excel pandas,下面小编就以1005字给大家详细介绍python pandas处理excel,预计阅读需要3分钟!
我经常听到人们说Python在数据栏里有多强大,但事实证明,学久了,连数据处理都麻烦得要死。后来我才意识到,不是Python擅长数据处理,而是他有一个数据分析神器——熊猫
前言
这是这个系列的第16篇文章,之前有小伙伴私信我说过,这一系列的例子太简单了,可以举一些实际的例子。好了,这篇文章来看看如何使用熊猫将数据拆分成单个的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 方法,因为这方法每次都会生成一个新的文件,由此要先定义 pd.ExcelWriter
- 当按性别分组时,调用 to_excel 要传入 pd.ExcelWriter
- exl.save(), 记得最后要保存文件
结果如下:
案例3
当你以为可以下班的时候,麻烦又来找你了,现在部门负责人不想按性别分开看,而是想看高于部门平均水平,低于平均水平的人。
有了上次经验,简单添加判断 销售额 的语句就可以了:
- is_over = x_df['销售额'] >= x_df['销售额'].mean() ,得到是否高于平均的值列,当然也是用这列值进行分组
总结DataFrame.to_excel,输出Excel文件pd. ExcelWriter+DataFrame.to一次_excel,在一个文件中输出多个工作表
语录网网友观点:基于group的维度切分到Excel?lambda里面的x 是指按照group后的索引列遍历吗?,