Pandas透视表(pivot_table)详解

Pandas透视表(pivot_table)详解

Pandas中的透视表是一种可以从标准数据帧(DataFrame)中提取信息的灵活工具。您可以使用 pivot table 实现多维数据的聚合,并以各种方式对其进行查看。在本篇文章中,我将为您提供 pivot_table 的详细介绍,包括实现透视表所需的核心参数以及一些示例代码。

pivot_table 函数原型

下面是 pivot_table 函数的原型:

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

参数解释

  • values: 需要聚合的指标名称或多个指标名称的列表。
  • index: 需要汇总的行列。
  • columns: 需要汇总的列。
  • aggfunc: 聚合函数。
  • fill_value:用于替换缺失值的值。
  • margins:是否添加All行和列。
  • dropna:是否需要删除缺失值NaN。
  • margins_name:指定All行和列的名称。
  • observed:仅适用于分类变量,默认为 False。
  • sort:默认为 True,在分组键上排序。

pivot_table 示例

示例1: 对多个关键字进行分组

该数据集包含每个时间间隔的电视机和互联网订阅收入相关信息。 我们可以使用透视表将数据按公司和年份分组 。

import pandas as pd

df = pd.read_csv("revenue.csv")
result = pd.pivot_table(df, values='revenue', index=['year'], columns=['company'])
print(result)

输出的结果将是以下内容:

company Apple Google Microsoft
year
2016 100.0 120.5 70.0
2017 85.0 110.0 95.5
2018 88.0 130.0 200.0

示例2: 使用aggfunc 和 fill_value

我们可以使用aggfunc指定聚合函数,使用fill_value指定缺失值的替代值。

import pandas as pd

df = pd.read_csv("revenue.csv")
result = pd.pivot_table(df, values='revenue', index=['year'], columns=['company'], aggfunc='sum', fill_value=0)
print(result)

输出的结果将是以下内容:

company Apple Google Microsoft
year
2016 100.0 120.5 70.0
2017 85.0 110.0 95.5
2018 88.0 130.0 200.0

另一个例子是使用 count 作为聚合函数,来计算每个公司每年总共有多少条数据:

import pandas as pd

df = pd.read_csv("revenue.csv")
result = pd.pivot_table(df, values='revenue', index=['year'], columns=['company'], aggfunc='count', fill_value=0)
print(result)

输出的结果将是以下内容:

company Apple Google Microsoft
year
2016 1 2 1
2017 2 2 1
2018 1 1 2

结论

pivot_table 是 Pandas 中一种非常有用的组合工具,可以对数据的多个维度进行统计和汇总。无论您是数据科学家,还是需要对数据进行分析的任何工作人员,pivot_table 都是您需要熟练掌握的一种技能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas透视表(pivot_table)详解 - Python技术站

(1)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 对pandas中apply函数的用法详解

    让我来为你详细讲解一下“对pandas中apply函数的用法详解”的完整攻略。 1. 什么是apply函数 在pandas中,apply函数是一种非常实用的函数,它可以对pandas的一个列或行进行操作,通常结合lambda表达式一起使用。apply函数的语法如下所示: DataFrame.apply(func, axis=0, broadcast=Fals…

    python 2023年5月14日
    00
  • Pandas 读写html

    Pandas 是一个常用的 Python 数据处理工具库,它具有很好的数据处理能力,同时还提供了方便的输入输出(I/O)函数,用于读写各种格式的数据。其中,读写 HTML 文件是一项非常常见的操作。接下来,本文将详细讲解如何使用 Pandas 读写 HTML 的完整攻略。 1. Pandas 读取 HTML 文件 Pandas 可以使用 read_html …

    python-answer 2023年3月27日
    00
  • 在Pandas中创建一个流水线

    在 Pandas 中,流水线 (Pipeline) 是一个使代码更加简洁易读的好工具。本文将详细讲解如何在 Pandas 中创建一个流水线。 什么是 Pandas 流水线? Pandas 流水线是一个将多个数据操作整合在一起的工具,它可以帮助我们更好地组织代码,使代码更加优雅和简洁。流水线的组成部分通常包括数据预处理、特征选择、特征工程和模型训练等多个步骤,…

    python-answer 2023年3月27日
    00
  • Pandas时间数据处理详细教程

    当涉及到数据分析和可视化的时候, 时间数据是一种常见的数据类型。python中的Pandas库提供了强大的时间数据处理工具,可以轻松地解析和操作时间数据。本文将为大家介绍Pandas时间数据处理的详细教程,包括以下内容: Pandas中的时间数据类型 Pandas提供了两种内置的时间数据类型:Timestamp和DatetimeIndex。Timestamp…

    python 2023年5月14日
    00
  • 如何扭转Pandas数据框架的列序

    在Pandas数据分析中,经常需要对数据框架的列进行重新排列,以便更好地分析和可视化数据。本攻略提供了几种方法来扭转Pandas数据框架的列序。 方法一:使用reindex()方法 使用reindex()方法可以实现对列的重新排序。下面是一个例子: import pandas as pd # 创建数据框架 data = {‘Name’:[‘Tom’, ‘Ja…

    python-answer 2023年3月27日
    00
  • 让你一文弄懂Pandas文本数据处理

    让你一文弄懂Pandas文本数据处理 简介 文本数据处理是数据分析的重要环节之一,Pandas作为Python数据分析领域的重磅利器,也提供了丰富的文本数据处理功能。本文将介绍Pandas如何处理文本数据,主要包括以下内容: 熟悉Pandas的字符串数据结构 文本数据清洗 文本数据分割 文本数据合并 文本数据替换 更多文本数据处理技巧 熟悉Pandas的字符…

    python 2023年5月14日
    00
  • pytorch 搭建神经网路的实现

    实现神经网络的任务在机器学习中是非常关键的,pytorch是当前非常常用的及强大的深度学习框架之一。在这里,我将详细讲解如何使用pytorch搭建神经网络,并提供两条示例说明。 准备工作 在开始搭建神经网络之前,需要先准备好环境及需要的库。以anaconda为例,可以通过以下指令来创建新环境及安装pytorch和torchvison: conda creat…

    python 2023年5月14日
    00
  • Python进行数据科学工作的简单入门教程

    Python进行数据科学工作的简单入门教程 简介 Python是一种非常流行的编程语言,因为它具有直观的语法和丰富的库。Python成为数据科学领域中的一种热门语言,因为有许多数据处理和分析工具可以帮助数据科学家进行数据探索,数据可视化和数据建模等任务。在本教程中,我们将介绍如何使用Python进行数据科学工作。 内容 安装Python和必备数据科学库 数据…

    python 2023年6月13日
    00
合作推广
合作推广
分享本页
返回顶部