pandas pivot table
在数据处理和分析中,pivot table 是一个常用的工具,可以帮助我们对数据进行透视分析和汇总统计。在 Python 中,pandas 库提供了丰富的功能来创建和操作 pivot table。本文将详细介绍 pandas 中 pivot table 的用法和应用场景。
什么是 pivot table
pivot table 是一种数据汇总工具,可以按照一个或多个键对数据进行聚合操作,然后根据这些键重新排列数据,以便更方便地进行分析。在 Excel 中,pivot table 是非常常见的功能,在 pandas 中也有类似的功能。
如何创建 pivot table
在 pandas 中,可以使用 pivot_table()
方法来创建 pivot table。下面是一个简单的示例:
import pandas as pd
data = {
'Date': ['2022-01-01', '2022-01-01', '2022-01-02', '2022-01-02'],
'City': ['Beijing', 'Shanghai', 'Beijing', 'Shanghai'],
'Temperature': [1, 2, 3, 4],
'Humidity': [10, 20, 30, 40]
}
df = pd.DataFrame(data)
pivot = pd.pivot_table(df, values=['Temperature', 'Humidity'], index='Date', columns='City')
print(pivot)
运行上面的代码,可以得到如下的输出:
Humidity Temperature
City Beijing Shanghai Beijing Shanghai
Date
2022-01-01 10 20 1 2
2022-01-02 30 40 3 4
在这个示例中,我们使用 pivot_table()
创建了一个 pivot table,以日期为索引,城市为列,温度和湿度为值。通过 pivot table,我们可以方便地比较不同日期和城市的温度和湿度情况。
pivot table 的参数
pivot_table()
方法有很多参数可以调整,下面是一些常用的参数:
values
:指定要聚合的数值列index
:指定要作为行索引的列columns
:指定要作为列索引的列aggfunc
:指定聚合函数,可以是 ‘mean’、’sum’、’max’、’min’ 等fill_value
:指定缺失值填充的值margins
:是否显示汇总统计信息
pivot table 的高级用法
除了基本用法,pivot table 还有一些高级用法,可以帮助我们更灵活地处理数据。下面是一些示例代码:
添加总计行和列
pivot = pd.pivot_table(df, values=['Temperature', 'Humidity'], index='Date', columns='City', margins=True)
print(pivot)
添加汇总统计信息
pivot = pd.pivot_table(df, values=['Temperature', 'Humidity'], index='Date', columns='City', margins=True, aggfunc='mean')
print(pivot)
处理缺失值
data = {
'Date': ['2022-01-01', '2022-01-01', '2022-01-02'],
'City': ['Beijing', 'Shanghai', 'Beijing'],
'Temperature': [1, 2, None],
'Humidity': [10, 20, 30]
}
df = pd.DataFrame(data)
pivot = pd.pivot_table(df, values=['Temperature', 'Humidity'], index='Date', columns='City', fill_value=0)
print(pivot)
总结
pivot table 是一个非常有用的数据分析工具,可以帮助我们对数据进行透视分析和汇总统计。在 pandas 中,使用 pivot_table()
方法可以轻松创建和操作 pivot table。