查看原文
其他

用 Python pandas 改写中秋福利文章~

GUXH Python爱好者社区 2019-04-07

作者:GUXH     Python爱好者社区专栏作者
博客:http://www.cnblogs.com/guxh/p/9695587.html


当时这篇文章发出去后:从中秋节福利说起,Python可以有这种操作!


有读者认为直接用python的pandas操作比python操作Excel要简单很多,于是投稿。


需求是需要统计部门礼品数量,自己简单绘制了个表格,如下:




大意是,每个部门的员工发福利,有礼品档次(见表一),每个档次礼品对应不同礼品(见表二)

 

假设表一在test.xlsx的sheet1中,表二在test.xlsx的sheet2中,运算结果为同级目录下的result.xlsx,用python pandas改写代码如下:

import pandas as pd df1 = pd.read_excel('test.xlsx', sheet_name=0, index_col='序号')   # 读取表1 df2 = pd.read_excel('test.xlsx', sheet_name=1).fillna(method='pad')  # 读取表2 df_result = pd.DataFrame(index=set(df1['部门']), columns=set(df2['产品'])).fillna(0)  # 运算结果 for each_dept in set(df1['部门']):   # 遍历每个部门    df_each_dept = df1[df1['部门'] == each_dept]  # 在表1中取出每个部门的礼品情况    for each_dept_welfare in df_each_dept['礼品档次']:  # 遍历每个部门的”礼品档次“:        for each_welfare in df2[df2['标准'] == each_dept_welfare]['产品']:              df_result.loc[each_dept, each_welfare] += 1  # 该部门对应的礼品数值+1 writer = pd.ExcelWriter('result.xlsx')   # 保存结果 df_result.to_excel(writer, 'result') writer.save()

运算result.xlsx结果如下:


Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

小编的Python入门免费视频课程!!!

【最新免费微课】小编的Python快速上手matplotlib可视化库!!!

崔老师爬虫实战案例免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存