Python制作数据分析透视表的方法详解

 更新时间:2022年09月27日 09:21:47   作者:Sir 老王  
透视表是一种可以对数据动态排布并且分类汇总的表格格式,在常用的python的数据分析非标准库pandas中体现为pivot_table模块。本文主要介绍了如何实现制作数据分析透视表,需要的可以参考一下

透视表是一种可以对数据动态排布并且分类汇总的表格格式,在常用的python的数据分析非标准库pandas中体现为pivot_table模块。

pivot_table数据透视表可以灵活的定制数据分析需求进行汇总,当然在Excel办公操作中早就存在了数据透视表的工具。如今,数据透视表被应用在python语言中更是给我们带来了大大地便利。

pivot_table有四个最重要的参数index、values、columns、aggfunc,通过设置不同的参数属性从而完成不同的数据分析需求。

pivot_table是pandas非标准库下面的数据透视表模块,因此需要安装pandas非标准库。按照以往的惯例还是采用pip的方式来进行安装即可。

pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/

首先,使用传统的excel读取函数read_excel将Excel文件中的数据读取出来,读取数据返回的是Dataframe格式的数据。

import pandas as pd  # 导入pandas模块

df = pd.read_excel('C:/test/data.xlsx')  # 读取Excel数据文件

print(df.tail())  # 打印部分结果

#             名称  年龄    班级   成绩  表现
# 21  Python 集中营  24  1739  111  A+
# 22  Python 集中营  25  1740  112  A+
# 23  Python 集中营  26  1741  113  A+
# 24  Python 集中营  27  1742  114  A+
# 25  Python 集中营  28  1743  115  A+

1、pivot_table函数index属性

我们通过pandas的read_excel函数已经将Excel数据文件读取并返回DataFrame数据对象。接下来通过数据透视表的方式来进行数据汇总,先来看看使用index属性是如何汇总结果的。

print(pd.pivot_table(df, index=[u'名称']))

#               年龄     成绩      班级
# 名称
# Python 集中营  15.5  102.5  1730.5

上面我们只指定了一个索引'名称'字段,从结果可以看出pivot_table函数自动将名称为'Python 集中营'的值汇总了一下,并且将其他的数字属性的字段全部计算得到了均值。

print(pd.pivot_table(df, index=[u'名称', u'表现']))

#                  年龄     成绩      班级
# 名称         表现
# Python 集中营 A+  15.5  102.5  1730.5

若是我们使用了两个或是两个以上的字段作为index的值则实际上会进行两次或两次以上的分组,这里体现为先对'名称'字段进行分组、其次再对'表现'字段进行分组。

2、pivot_table函数values属性

values属性即在使用时将指定的字段显示出来,因为有的情况下并不需要将所有的字段都展示出来往往可能用到的是其中的几个字段的值来参与运算。

print(pd.pivot_table(df, index=[u'表现'], values=[u'班级', u'成绩']))

#        成绩      班级
# 表现
# A+  102.5  1730.5

需要注意的是values属性只能用来指定具有数字属性的字段,可能为了能够更好的实现分组统计的效果吧!

3、pivot_table函数aggfunc属性

aggfunc属性则是对计算方式的设置,也可以同时设置好几种计算方式将结果展示出来。在前面的统计中并没有设置,默认则是使用均值的算法来统计汇总信息的。

下面设置两种的计算方式来统计我们之前的结果,一种还是均值、另一种则是求和的方式将两种计算模式下的结果都统计出来。

print(pd.pivot_table(df, index=[u'名称'], values=[u'年龄', u'成绩'], aggfunc=['mean', 'sum']))

#            mean         sum
#               年龄     成绩   年龄    成绩
# 名称
# Python 集中营  15.5  102.5  403  2665

可以发现汇总结果分别汇总出来了年龄和成绩的平均值、总和,效果还是相当理想的。

4、pivot_table函数columns属性

columns属性主要用来显示字符类型的字段的,若是字段对应的所在行没有值时则可以使用fill_value函数来填充默认值使数据变得完整,一般来说columns和fill_value是搭配使用的。

print(pd.pivot_table(df, index=[u'名称'], values=[u'年龄', u'成绩'], aggfunc=['mean', 'sum'], columns=[u'表现'],
                     fill_value=0))

#             mean         sum
#               年龄     成绩   年龄    成绩
# 表现            A+     A+   A+    A+
# 名称
# Python 集中营  15.5  102.5  403  2665

 到此这篇关于Python制作数据分析透视表的方法详解的文章就介绍到这了,更多相关Python透视表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中第三方库lxml库的最新详细安装步骤

    python中第三方库lxml库的最新详细安装步骤

    这篇文章主要给大家介绍了关于python中第三方库lxml库的最新详细安装步骤,lxml是一种使用Python编写的库,可以迅速、灵活地处理 XML,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Python生成任意波形并存为txt的实现

    Python生成任意波形并存为txt的实现

    本文主要介绍了Python生成任意波形并存为txt的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Python学习笔记之迭代器和生成器用法实例详解

    Python学习笔记之迭代器和生成器用法实例详解

    这篇文章主要介绍了Python学习笔记之迭代器和生成器用法,结合实例形式详细分析了Python迭代器与生成器的功能、原理、定义及使用方法,需要的朋友可以参考下
    2019-08-08
  • Python 代码性能优化技巧分享

    Python 代码性能优化技巧分享

    选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化来提高程序的执行效率
    2012-08-08
  • Python常用的模块和简单用法

    Python常用的模块和简单用法

    这篇文章主要给大家介绍Python#常用的模块和简单用法,以random 随机模块展开话题,感兴趣的小伙伴可以参考一下
    2021-10-10
  • Python中requirements.txt简介(推荐)

    Python中requirements.txt简介(推荐)

    Python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便新环境部署,这篇文章主要介绍了Python中requirements.txt简介,需要的朋友可以参考下
    2022-11-11
  • Matplotlib实战之柱状图绘制详解

    Matplotlib实战之柱状图绘制详解

    柱状图,是一种使用矩形条,对不同类别进行数值比较的统计图表,这篇文章主要为大家详细介绍了如何使用Matplotlib绘制柱状图,需要的可以参考下
    2023-08-08
  • Python的None和C++的NULL用法解读

    Python的None和C++的NULL用法解读

    这篇文章主要介绍了Python的None和C++的NULL用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python爬虫实战演练之采集拉钩网招聘信息数据

    Python爬虫实战演练之采集拉钩网招聘信息数据

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python采集拉钩网招聘信息数据,大家可以在过程中查缺补漏,提升水平
    2021-10-10
  • python实现微信打飞机游戏

    python实现微信打飞机游戏

    这篇文章主要为大家详细介绍了python实现微信打飞机游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论