Pandas透视表与交叉表的使用

 更新时间:2023年11月22日 09:50:32   作者:阿松爱睡觉  
Pandas中的交叉表和透视表的作用相似,本文就来介绍一下Pandas透视表与交叉表的使用,具有一定的参考价值,感兴趣的可以了解一下

透视表

透视表是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。它根据一个或多个键对数据进行聚合,并根据行和列上得分组建将数据分配到各个矩形区域中。在 pandas 中,可以通过 pivot_table 函数创建透视表。

pivot_talbe 函数的参数:

DataFrame.pivot_table(self, values=None, index=None, columns=None,ggfunc='mean', fill_value=None, .margins=False,dropna=True, margins_name='All')

在这里插入图片描述

代码操作示例:

data = {'A': [1, 2, 2, 3, 2, 4],
        'B': [2014, 2015, 2014, 2014, 2015, 2017],
        'C': ["a", "b", "c", "d", "e", "f"],
        'D': [0.5, 0.9, 2.1, 1.5, 0.5, 0.1]
        }
df = pd.DataFrame(data)
df.pivot_table(index=["B"], columns=["C"], values=["A"], aggfunc=sum, margins=True)

Output:
        A
C       a    b    c    d    e    f All
B
2014  1.0  NaN  2.0  3.0  NaN  NaN   6
2015  NaN  2.0  NaN  NaN  2.0  NaN   4
2017  NaN  NaN  NaN  NaN  NaN  4.0   4
All   1.0  2.0  2.0  3.0  2.0  4.0  14

交叉表

交叉表是一种用于计算分组频率的特殊透视表。通常使用 crosstab 函数来创建交叉表。

crosstab 的参数

pd.crosstab(index,columns,values=None,rownames=None
colnames=None,aggfunc=None,margins=False,dropna=True,normalize=False)

其中 rownames 可以设置行名,colnames 可以设置列名,而且前两个参数可以是数组、Series 或数组列表。

代码示例:

data = {'A': [1, 2, 2, 3, 2, 4],
        'B': [2014, 2015, 2014, 2014, 2015, 2017],
        'C': ["a", "b", "c", "d", "e", "f"],
        'D': [0.5, 0.9, 2.1, 1.5, 0.5, 0.1]
        }
df = pd.DataFrame(data)
pd.crosstab(index=[df["B"],df["A"]], columns=df["C"], values=df["A"], aggfunc=sum, margins=True)

Output:

C         a    b    c    d    e    f  All
B    A
2014 1  1.0  NaN  NaN  NaN  NaN  NaN    1
     2  NaN  NaN  2.0  NaN  NaN  NaN    2
     3  NaN  NaN  NaN  3.0  NaN  NaN    3
2015 2  NaN  2.0  NaN  NaN  2.0  NaN    4
2017 4  NaN  NaN  NaN  NaN  NaN  4.0    4
All     1.0  2.0  2.0  3.0  2.0  4.0   14

到此这篇关于Pandas透视表与交叉表的使用的文章就介绍到这了,更多相关Pandas透视表与交叉表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 用pandas实现数据透视表功能

    python 用pandas实现数据透视表功能

    这篇文章主要介绍了python 用pandas实现数据透视表功能的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Python爬虫天气预报实例详解(小白入门)

    Python爬虫天气预报实例详解(小白入门)

    这篇文章主要介绍了Python爬虫天气预报实例详解(小白入门),详细介绍了整个爬虫建立的流程,最后分享了实现代码,很简洁,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 在Python中使用判断语句和循环的教程

    在Python中使用判断语句和循环的教程

    这篇文章主要介绍了在Python中使用判断语句和循环的教程,是Python学习当中的基础知识,代码基于Python2.x,需要的朋友可以参考下
    2015-04-04
  • 解决seaborn在pycharm中绘图不出图的问题

    解决seaborn在pycharm中绘图不出图的问题

    今天小编就为大家分享一篇解决seaborn在pycharm中绘图不出图的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python中的错误处理

    python中的错误处理

    异常是指程序中的例外,违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。
    2016-04-04
  • Django MEDIA的配置及用法详解

    Django MEDIA的配置及用法详解

    这篇文章主要介绍了Django MEDIA的配置及用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • numpy模块中axis的理解与使用

    numpy模块中axis的理解与使用

    而在numpy中有很多的函数都涉及到axis,numpy中的轴axis是很重要的,许多numpy的操作根据axis的取值不同,作出的操作也不相同,这篇文章主要给大家介绍了关于numpy模块中axis的理解与使用的相关资料,需要的朋友可以参考下
    2022-03-03
  • Python实现解析Bit Torrent种子文件内容的方法

    Python实现解析Bit Torrent种子文件内容的方法

    这篇文章主要介绍了Python实现解析Bit Torrent种子文件内容的方法,结合实例形式分析了Python针对Torrent文件的读取与解析相关操作技巧与注意事项,需要的朋友可以参考下
    2017-08-08
  • Python使用Web框架Flask开发项目

    Python使用Web框架Flask开发项目

    本文详细讲解了Python使用Web框架Flask开发项目的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • python pyheatmap包绘制热力图

    python pyheatmap包绘制热力图

    这篇文章主要为大家详细介绍了python pyheatmap包绘制热力图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11

最新评论