Pandas实现(pivot_table函数)数据透视表方式

 更新时间:2024年09月10日 16:26:21   作者:呀~吼  
pandas的pivot_table()函数非常强大,主要用于创建数据透视表,重要参数包括index、values、columns和aggfunc,index用于设置行索引,类似于SQL中的group by,values用于进行聚合计算的数据选择,columns参数可设置列层次,非必须

Pandas (pivot_table函数)数据透视表

使用pandas中的pivot_table()实现数据透视表。

语法格式如下:

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

pd.pivot_table()有四个最重要的参数index、values、columns、aggfunc。

四个最重要参数解析

index

  • 相当于SQL里的group by用于分组的字段,相当于行索引。
  • index也是层次字段,要通过透视表获取什么信息就按照相应的顺序设置字段。
pd.pivot_table(data,index=['列名1','列名2'])

values

  • 相当于SQL里对列进行聚合计算
  • 对需要的计算数据进行筛选
pd.pivot_table(data,index=['列名1','列名2'],values=['计算列名1','计算列名2','计算列名3'])

columns

  • columns类似index可以设置列层次字段
  • 它不是一个必要参数,作为一种分割数据的可选方式
pd.pivot_table(data,index=['列名1','列名2'],
				values=['计算列名1','计算列名2','计算列名3'],columns=['列名3'])

aggfunc

  • aggfunc参数可以设置对数据聚合时进行的函数操作。
  • 对于aggfunc参数,操作的是values后面的值,而不是columns后面的值。
  • 分别对values参数中的每一列都进行求和与求平均值。
pd.pivot_table(data,index=['列名1','列名2'],
				values=['计算列名1','计算列名2','计算列名3'],aggfunc=[np.sum,np.mean])

fill_value:当数据为空时,填充的指定值。fill_value=0 

注意

  • aggfunc也可以使用dict类型,这样可以指定values中每一列的聚合函数。
  • 如果dict中的内容与values不匹配时,以dict中为准。
table=pd.pivot_table(data,index=['列名1','列名2'],columns=['列名3'],
					values=['计算列名1','计算列名2','计算列名3'],
					aggfunc={'计算列名1':np.mean,'计算列名2':[min, max, np.mean]},fill_value=0)

结果就是’计算列名2’求min,max和mean,'计算列名1’求mean,而’计算列名3’没有显示。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python使用cn2an实现中文数字与阿拉伯数字的相互转换

    Python使用cn2an实现中文数字与阿拉伯数字的相互转换

    这篇文章主要介绍了Python使用cn2an实现中文数字与阿拉伯数字的相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python 动态生成变量名以及动态获取变量的变量名方法

    python 动态生成变量名以及动态获取变量的变量名方法

    今天小编就为大家分享一篇python 动态生成变量名以及动态获取变量的变量名方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python面向对象值元类的声明周期详解

    python面向对象值元类的声明周期详解

    这篇文章主要介绍python的元类生命周期,我们可以和之前探讨类的生命中周期一样,我们写一个案例,使用print来输出一些信息,来判断如果基于元类而言,那么生命周期是怎么样的,文中有详细的代码示例,需要的朋友可以参考下
    2023-05-05
  • Python 读取 YUV(NV12) 视频文件实例

    Python 读取 YUV(NV12) 视频文件实例

    今天小编就为大家分享一篇Python 读取 YUV(NV12) 视频文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python实现暴力破解wifi密码并打包成exe

    Python实现暴力破解wifi密码并打包成exe

    python号称是编程界的万金油,那么是否可以做个读取电脑网卡wifi并暴力破解的小脚本呢?在这个基础上为了方便体验是不是可以将其打包成exe这样方便执行的小应用呢?本文就来和大家一起聊聊
    2022-09-09
  • Python流行ORM框架sqlalchemy的简单使用

    Python流行ORM框架sqlalchemy的简单使用

    这篇文章主要介绍了Python流行ORM框架sqlalchemy的简单使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • python3实现名片管理系统(控制台版)

    python3实现名片管理系统(控制台版)

    这篇文章主要为大家详细介绍了python3实现名片管理系统控制台版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • Python使用正则表达式实现爬虫数据抽取

    Python使用正则表达式实现爬虫数据抽取

    这篇文章主要介绍了Python使用正则表达式实现爬虫数据抽取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python中enumerate()函数详细分析(附多个Demo)

    Python中enumerate()函数详细分析(附多个Demo)

    Python的enumerate()函数是一个内置函数,主要用于在遍历循环中获取每个元素的索引以及对应的值,这篇文章主要介绍了Python中enumerate()函数的相关资料,需要的朋友可以参考下
    2024-10-10
  • Pandas数据结构详细说明及如何创建Series,DataFrame对象方法

    Pandas数据结构详细说明及如何创建Series,DataFrame对象方法

    本篇文章中,我们主要侧重于介绍Pandas数据结构本身的特性,以及如何创建一个Series或者DataFrame数据对象,并填入一些数据
    2021-10-10

最新评论