对比Excel,轻松搞定Python数据透视表
人生苦短,快学Python!
学习Excel,数据er最常用的两大Excel功能就是VLOOKUP
和数据透视表!利用数据透视表可以从繁杂无序的源数据中筛选出自己需要的“字段标题”进行分类汇总、对比或合并等操作,作为一种强大的交互性报表,大大简化了数据处理和分析工作的步骤,提高办公效率,职场达人必学!
上一篇文章中我们已经详细讲解了Python如何实现Excel中的“Vlookup”函数?那我们今天就聊聊,如何Python实现Excel中数据透视表?
用Excel实现数据透视表的优势也很明显,只需要拖拉拽就可以,非常简单也容易操作。而Python去处理数据可以更快更强,比如几十万行级别的数据,Excel打开都需要半天,更别提快速处理了。
在 Pandas 模块中,调用pivot_table()
方法,可以帮助我们实现数据透视表的操作。接下来我们可以对比 Excel 中数据透视表的操作步骤,为大家介绍pivot_table()
方法中的常用参数。
对比上图的Excel数据透视表参数,我列出了pivot_table()
方法中的8个常用参数。
附上官网学习地址:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html
此外,还有两个参数用的较少,不用特别记忆。
dropna 表示是否删除缺失值,如果为True时,则把一整行全作为缺失值删除; sort=True 表示排序(版本1.3.0才有)。
接下来用一个小案例实战来模拟,Python实现Excel中数据透视表。
导入数据,在交互式环境中输入如下命令:
import pandas as pd
df = pd.read_excel("原始数据.xlsx")
df.head()
输出结果:
接下来,使用几个最常见的参数建立透视表。
在交互式环境中输入如下命令:
pd.pivot_table(df,
values = "销售数量",
index = ["货季", "区域"],
columns = "品牌",
aggfunc = np.sum)
输出结果:
如上图所示,“透视表”中NaN空值可以使用fill_value
参数填充为0;此外,指定参数margins=True
就可以增加合计列,同时也能指定合计名称(margins_name
)。
在交互式环境中输入如下命令:
pd.pivot_table(df,
values = "销售数量",
index = ["货季", "区域"],
columns = "品牌",
# aggfunc = np.sum,
aggfunc = "sum", # 同上
margins = True,
margins_name = "总计",
fill_value = 0)
输出结果:
以上就是Python实现Excel中数据透视表的常用操作了。人生苦短,快学Python!如果文章对你有帮助,希望大家点赞支持一下!
openpyxl提供对透视表的读取支持,以便将它们保留在现有文件中,但是不支持用户创建pivot表。它可以编辑和操作现有的透视表,以后有机会跟大家介绍一波。
如果大家想系统学习Pandas,推荐一本《深入浅出Pandas》
这是一本全面覆盖了Pandas使用者的普遍需求和痛点的著作,基于实用、易学的原则,从功能、使用、原理等多个维度对Pandas做了全方位的详细讲解,既是初学者系统学习Pandas难得的入门书,又是有经验的Python工程师案头必不可少的查询手册。