📜  Python|熊猫.pivot()(1)

📅  最后修改于: 2023-12-03 15:04:27.263000             🧑  作者: Mango

Python | 熊猫 .pivot()

简介

在 Pandas 中,.pivot() 是一种重塑指定数据集形态的函数。该函数用于将长格式的数据转换为宽格式的数据,从而使数据更容易分析。.pivot() 函数将一列数据变成一列索引,一行数据变成一列数据。因此,.pivot() 函数常用于对数据集进行汇总,并创建新的数据结构。

语法

.pivot() 函数的基本语法如下:

DataFrame.pivot(self, index=None, columns=None, values=None)
  • index:指定重塑后的数据集中应包含哪些行索引。如果不传递 index 参数,则默认所有行都被重塑。
  • columns:指定重塑后的数据集中应包含哪些列索引。
  • values:指定将哪个列的值添加到新的 DataFrame 中。
示例

在下面的示例中,我们使用 pivot() 函数转换一个具有较长格式的数据集。在此示例中,我们有一个包含来自三个不同城市的许多不同日期的数据集。该数据集包含每个城市的天气状况和温度度数。下面是一个类似的示例 DataFrame:

import pandas as pd

data = pd.DataFrame({
    'date': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03', '2021-01-03'],
    'city': ['北京', '上海', '北京', '上海', '北京', '上海'],
    'weather': ['晴', '阴', '多云', '晴', '晴', '多云'],
    'temp': [2, 6, 0, 5, -1, 3]
})

print(data)

执行上述代码返回以下 DataFrame:

         date city weather  temp
0  2021-01-01   北京      晴     2
1  2021-01-01   上海      阴     6
2  2021-01-02   北京     多云     0
3  2021-01-02   上海      晴     5
4  2021-01-03   北京      晴    -1
5  2021-01-03   上海     多云     3

现在我们将使用 .pivot() 函数,将上述 DataFrame 转换成宽格式,并为每个城市的每个日期创建一个新列。以下是示例代码:

new_data = data.pivot(index='date', columns='city', values='temp')

print(new_data)

执行上述代码返回以下 DataFrame:

city        上海  北京
date               
2021-01-01   6   2
2021-01-02   5   0
2021-01-03   3  -1

如上所示,使用 pivot() 函数,使 DataFrame 更好地适应分析数据和制作报表。