在pandas中使用数据透视表

简介: 在pandas中使用数据透视表

什么是透视表?

经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。

维基百科对透视表(pivot table)解释是:

A 「pivot table」 is a table  of statistics that summarizes the data of a more extensive table.

透视表是一种汇总了更广泛表数据的统计信息表。

典型的数据格式是扁平的,只包含行和列,不方便总结信息:

而数据透视表可以快速抽取有用的信息:

pandas也有透视表?

pandas作为编程领域最强大的数据分析工具之一,自然也有透视表的功能。

在pandas中,透视表操作由pivot_table()函数实现,不要小看只是一个函数,但却可以玩转数据表,解决大麻烦。

pivot_table使用方法:

pandas.pivot_table(*data*, *values=None*, *index=None*, *columns=None*, *aggfunc='mean'*, *fill_value=None*, *margins=False*, *dropna=True*, *margins_name='All'*, *observed=False*)

参数解释:

  • data:dataframe格式数据
  • values:需要汇总计算的列,可多选
  • index:行分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的行索引
  • columns:列分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的列索引
  • aggfunc:聚合函数或函数列表,默认为平均值
  • fill_value:设定缺失替换值
  • margins:是否添加行列的总计
  • dropna:默认为True,如果列的所有值都是NaN,将不作为计算列,False时,被保留
  • margins_name:汇总行列的名称,默认为All
  • observed:是否显示观测值

注意,在所有参数中,values、index、columns最为关键,它们分别对应excel透视表中的值、行、列:

参数aggfunc对应excel透视表中的值汇总方式,但比excel的聚合方式更丰富:

如何使用pivot_table?

下面拿数据练一练,示例数据表如下:

该表为用户订单数据,有订单日期、商品类别、价格、利润等维度。

首先导入数据:

data = pd.read_excel("E:\\订单数据.xlsx")
data.head()

接下来使用透视表做分析:

  1. 计算每个州销售总额和利润总额
result1 = pd.pivot_table(data,index='洲' , values = ['销售额','利润'] , aggfunc = np.sum)
result1.head()

  1. 计算每个洲每个城市每单平均销售量
result2 = pd.pivot_table(data,index=['洲','城市'],aggfunc=np.mean,values=['数量'])
result2.head(20)

  1. 计算每个洲的总销量和每单平均销量
result3 = pd.pivot_table(data,index=['洲'],aggfunc=[np.sum,np.mean],values=['数量'])
result3.head()

  1. 看每个城市(行)每类商品(列)的总销售量,并汇总计算
result4 = pd.pivot_table(data,index=['城市'],columns=['商品类别'],aggfunc=[np.sum],values=['数量'],margins=True)
result4.head()

总结

本文介绍了pandas pivot_table函数的使用,其透视表功能基本和excel类似,但pandas的聚合方式更加灵活和多元,处理大数据也更快速,大家有兴趣可探索更高级的用法。

目录
相关文章
|
21天前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
120 71
|
9天前
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
50 20
|
10天前
|
存储 数据挖掘 计算机视觉
Pandas数据应用:图像处理
Pandas 是一个强大的 Python 数据分析库,主要用于处理结构化数据。尽管它不是专门为图像处理设计的,但可以利用其功能辅助图像处理任务。本文介绍如何使用 Pandas 进行图像处理,包括图像读取、显示、基本操作及常见问题解决方法。通过代码案例解释如何将图像转换为 DataFrame 格式,并探讨数据类型不匹配、内存溢出和颜色通道混淆等问题的解决方案。总结中指出,虽然 Pandas 可作为辅助工具,但在实际项目中建议结合专门的图像处理库如 OpenCV 等使用。
47 18
|
4天前
|
机器学习/深度学习 存储 算法
Pandas数据应用:客户流失预测
本文介绍如何使用Pandas进行客户流失预测,涵盖数据加载、预处理、特征工程和模型训练。通过解决常见问题(如文件路径错误、编码问题、列名不一致等),确保数据分析顺利进行。特征工程中创建新特征并转换数据类型,为模型训练做准备。最后,划分训练集与测试集,选择合适的机器学习算法构建模型,并讨论数据不平衡等问题的解决方案。掌握这些技巧有助于有效应对实际工作中的复杂情况。
123 95
|
7天前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
126 88
|
18天前
|
分布式计算 数据可视化 数据挖掘
Pandas数据应用:社交媒体分析
本文介绍如何使用Pandas进行社交媒体数据分析,涵盖数据获取、预处理、探索性分析和建模的完整流程。通过API获取数据并转换为DataFrame格式,处理缺失值和数据类型转换问题。利用Matplotlib等库进行可视化,展示不同类型帖子的数量分布。针对大规模数据集提供内存优化方案,并结合TextBlob进行情感分析。最后总结常见问题及解决方案,帮助读者掌握Pandas在社交媒体数据分析中的应用。
151 96
|
1天前
|
数据采集 存储 供应链
Pandas数据应用:库存管理
本文介绍Pandas在库存管理中的应用,涵盖数据读取、清洗、查询及常见报错的解决方法。通过具体代码示例,讲解如何处理多样数据来源、格式不一致、缺失值和重复数据等问题,并解决KeyError、ValueError等常见错误,帮助提高库存管理效率和准确性。
87 72
|
20天前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
128 73
|
12天前
|
数据采集 机器学习/深度学习 搜索推荐
Pandas数据应用:推荐系统
在数字化时代,推荐系统是互联网公司的重要组成部分,Pandas作为Python的强大数据分析库,在数据预处理和特征工程中发挥关键作用。常见问题包括缺失值、重复值处理及数据类型转换,解决方案分别为使用`fillna()`、`drop_duplicates()`和`astype()`等函数。常见报错如KeyError、ValueError和MemoryError可通过检查列名、确保数据格式正确及分块读取数据等方式解决。合理运用Pandas工具,可为构建高效推荐系统奠定坚实基础。
48 18
Pandas数据应用:推荐系统
|
5天前
|
数据采集 存储 算法
Pandas数据应用:市场篮子分析
市场篮子分析是一种用于发现商品间关联关系的数据挖掘技术,广泛应用于零售业。Pandas作为强大的数据分析库,在此领域具有显著优势。本文介绍了市场篮子分析的基础概念,如事务、项集、支持度、置信度和提升度,并探讨了数据预处理、算法选择、参数设置及结果解释中的常见问题与解决方案,帮助用户更好地进行市场篮子分析,为企业决策提供支持。
51 29