详解pandas.DataFrame.pivot_table()(创建透视表)函数使用方法

pandas.DataFrame.pivot_table()介绍

pandas.DataFrame.pivot_table()是pandas库中的一个函数。它可用于操作数据框(DataFrame)以创建透视表。透视表是一种灵活的汇总数据技术,它可以按多个维度对数据进行计算和汇总。

通常情况下,透视表有一个或多个行和列变量,以及一个或多个值变量。pivot_table()函数允许用户定义透视表的行、列和值变量,并指定需要进行计算的汇总函数。

语法:

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

参数说明:

  • data:需要处理的DataFrame类型数据。
  • values:指定哪些特征需要进行聚合;
  • index:指定与需要根据哪些特征来分组;
  • columns:指定哪些特征需要创建列;
  • aggfunc:指定聚合函数(默认为'mean',即求平均值)
  • fill_value:为“NaN”提供替代值;
  • margins:如果为True,则添加总计行/列,结果为交叉表与总统计信息的组合(默认为False);
  • dropna:是否在结果中删除缺失值(默认为True);
  • margins_name:指定行/列总计的名称。

pandas.DataFrame.pivot_table()使用范例

我们将通过各种示例来解释如何使用pivot_table()函数。

示例1:创建透视表来计算数据框某个特定列的平均值。

首先,我们需要创建一个数据框和一个名称为“df”的变量。接下来,我们将使用pivot_table()函数创建一个透视表。这个表将在“Company”列上进行分组,然后计算“Salary”列的平均值。

代码:

import pandas as pd
df = pd.DataFrame({'Name':['John','Mike','Sarah','Mary','Gary','Henry','Beth'], 
                   'Company':['ABC','DEF','GHI','ABC','DEF','GHI','ABC'], 
                   'Salary':[50000,55000,30000,100000,90000,70000,85000], 
                   'Bonus':[4000,4500,2000,8000,7000,5000,6500]})
print(df)

输出:

     Name Company  Salary  Bonus
0    John     ABC   50000   4000
1    Mike     DEF   55000   4500
2   Sarah     GHI   30000   2000
3    Mary     ABC  100000   8000
4    Gary     DEF   90000   7000
5   Henry     GHI   70000   5000
6    Beth     ABC   85000   6500
df.pivot_table(index=['Company'],values='Salary')

输出:

            Salary
Company           
ABC      78333.333333
DEF      72500.000000
GHI      50000.000000

结果表显示了“Company”列中每个组的平均工资,“ABC”公司的平均工资是(50000+100000+85000)/3=78333.333333,“DEF”公司的平均工资是(55000+90000)/2=72500,“GHI”公司的平均工资是(30000+70000)/2=50000。

示例2:创建透视表,并自定义聚合函数

下面的示例演示如何使用pivot_table()自定义聚合函数。在这个例子中,我们将总和函数(sum)作为我们的聚合函数。

df.pivot_table(index=['Company'],values=['Salary','Bonus'],aggfunc=sum)

输出:

        Bonus  Salary
Company              
ABC     8500    235000
DEF     11500   145000
GHI     7000    100000

我们可以看到,结果表列出了“Company”列的每个组的总和。例如,“ABC”公司的总薪水是85000+50000+100000=235000,“DEF”公司的总薪水是90000+55000=145000,“GHI”公司的总薪水是30000+70000=100000。

总结

pandas.DataFrame.pivot_table()函数是一个非常有用的函数,因为它提供了一个强大的工具来创建各种类型的透视表。函数提供的选项允许用户定义要聚合的变量和要应用的聚合函数,以及相应的行和列分组。在处理数据量较大时,透视表可以使数据的分析和汇总变得更加容易和高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.DataFrame.pivot_table()(创建透视表)函数使用方法 - Python技术站

(2)
上一篇 2023年3月22日
下一篇 2023年3月22日

相关文章

  • 详解pandas.dropna()(删除缺失值)函数使用方法

    Pandas是一种非常流行的Python数据处理库,其中的dropna()是一个常用的功能,它可以删除包含缺失数据的行或列。这个函数的详细作用和使用方法,可以通过以下攻略来了解。 作用 当处理数据时,常常会遇到缺失值。这些缺失值如果不进行处理,会影响到我们的分析结果。使用dropna()可以方便地去除包含缺失值的行或列,帮助我们得到更准确的结果。 使用方法 …

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.duplicated()(检测重复值)函数使用方法

    pandas.duplicated()是Pandas库中的一个函数,用于查找和标记重复值。它返回一个布尔值的数组,指示每个元素是否为重复项。 使用方法 语法: pandas.duplicated(subset=None, keep=’first’) 参数: subset: 可选,用于标识重复项的列名或列名列表。默认情况下,它比较整个行。 keep: 可选,标…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.DataFrame.unstack()(将序列展开为数据框)函数使用方法

    pandas.DataFrame.unstack()是一种数据结构转换函数,可以将具有多层索引的pandas DataFrame对象转换为单层DataFrame对象。它的作用是将DataFrame中的某些列作为列的索引,同时将行索引的某些级别旋转为新的列。 另外,unstack()函数还支持将多个索引级别转换为列,以及在转换时选择要使用的元素。 unstac…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.str.replace()(字符串替换)函数使用方法

    pandas.str.replace() 函数用于替换 Series 或 DataFrame 中的子字符串。 语法: pandas.str.replace(pat, repl, n=-1, case=None, flags=0, regex=True) 参数介绍: pat:被替换的子字符串 repl:替换 pat 的字符串 n:要替换的子字符串数量。默认值是…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.cut()(将数值分段)函数使用方法

    pandas.cut()是一个针对Series或DataFrame数据进行分箱处理的函数,其主要作用是将一系列连续型数值分成离散化的分组(或称为分箱),从而便于分类统计或分析等相关工作。 使用方法 参数说明: x:需要进行离散化的数据; bins:指定分组的边界值,可以是单个整数表示基于数据中的最小值和最大值生成等距间隔,也可以是一组分组边界值的列表或数组;…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.DataFrame.fillna()(填充缺失值)函数使用方法

    作用及使用方法 pandas.DataFrame.fillna()函数的作用是将数据帧(DataFrame)中的缺失值(NaN值)用指定的值或方法进行填充。具体使用方法如下: DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=Non…

    Pandas函数大全 2023年3月22日
    00
  • 详解pandas.DataFrame.plot()(绘制数据框图表)函数使用方法

    pandas.DataFrame.plot() 是 pandas 库中的一个绘图函数,它允许我们使用数据帧(DataFrame)中的数据绘制各种类型的图表。使用 plot 函数可以帮助我们更直观地了解数据的分布、趋势和关系。 使用方法: pandas.DataFrame.plot(kind=None, x=None, y=None, figsize=None…

    2023年3月22日
    00
  • 详解pandas.concat()(合并数据框)函数使用方法

    Pandas.concat()的作用 Pandas库中的concat()函数主要用于合并/拼接一个或多个数据帧。数据帧可以是行方向(axis=0)或列方向(axis=1)的合并,merge的结果就是一个新的数据帧。合并的数据帧可以从多个源获取,这使得它成为数据处理和分析中非常有用的工具。 Pandas.concat()的使用方法 Pandas.concat(…

    Pandas函数大全 2023年3月22日
    00
合作推广
合作推广
分享本页
返回顶部