欢迎访问宙启技术站
智能推送

在Pandas中如何将数据透视为一个新的DataFrame

发布时间:2023-12-22 20:57:29

在Pandas中,可以使用pivot_table()函数将数据透视为一个新的DataFrame。该函数允许我们根据一个或多个关键字对数据进行分组,并计算一个或多个汇总指标。

下面是一个演示如何使用pivot_table()函数的例子:

假设我们有一个汽车销售数据集,其中包含各个地区的销售额、销售人员和汽车品牌信息。我们想要透视该数据集,以便获取每个地区、每个销售人员和每个汽车品牌的销售额总和。

首先,我们需要导入Pandas库,并读取数据集:

import pandas as pd

# 读取数据集
data = pd.read_csv('sales_data.csv')

接下来,我们使用pivot_table()函数来透视数据集。在函数中,我们需要指定以下参数:

- data:要透视的数据集

- index:透视表的索引,即我们要对数据进行分组的关键字列

- values:要计算汇总指标的列

- aggfunc:使用的汇总函数,默认为计算平均值

- columns:透视表的列,即我们要在透视表中生成的新列

根据上述要求,我们可以编写以下代码:

# 透视数据
pivot_data = pd.pivot_table(data, index=['地区', '销售人员', '品牌'], values=['销售额'], aggfunc='sum', columns=[], fill_value=0)

在上述代码中,我们指定了index参数为一个列表,其中包含了要分组的关键字列。我们还指定了values参数为一个列表,其中包含了要计算汇总指标的列。aggfunc参数被设置为sum,表示我们要计算销售额的总和。最后,我们将columns参数设置为空列表,表示不创建新的列。

透视后的数据将存储在一个新的DataFrame中,名为pivot_data。我们可以通过打印该DataFrame来查看结果:

print(pivot_data)

输出结果将类似于以下内容:

                 销售额
地区    销售人员 品牌      
东部地区  张三    标致     100
             福特     200
      李四    标致     150
             福特     250
西部地区  王五    标致     300
             福特     350
      张三    标致     400
             福特     450

上述结果中,透视表的索引由地区、销售人员和品牌组成,销售额是唯一的汇总指标。