📅  最后修改于: 2023-12-03 15:34:16.708000             🧑  作者: Mango
Pandas.pivot_table() 是利用 Pandas 库进行数据透视的一个函数,能够帮助我们将表格数据按照某些特定的条件进行聚合、统计或重新排列,以便于我们更快地了解数据的分布规律和基本统计信息。
pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')
我们通过一个示例来解释 Pandas.pivot_table() 的用法,读入以下表格数据:
import pandas as pd
import numpy as np
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Charlie", "Alice", "Bob", "Charlie", "Alice", "Bob", "Charlie"],
"City": ["Paris", "Paris", "Paris", "Tokyo", "Tokyo", "Tokyo", "London", "London", "London"],
"Gender": ["Female", "Male", "Male", "Female", "Male", "Male", "Female", "Male", "Male"],
"Salary": [5000, 4000, 4500, 6000, 5500, 5000, 7000, 6500, 7500],
"Age": [25, 30, 35, 40, 45, 50, 55, 60, 65]
})
我们按照城市、性别两个维度来观察薪水,然后填充缺失值,注意这里 aggfunc 传入的是 np.mean() 函数,如果使用平均值面板数据,可以计算缺失值的平均值:
table = pd.pivot_table(df, values='Salary', index=['City', 'Gender'], aggfunc=np.mean, fill_value=0)
print(table)
输出结果:
Salary
City Gender
London Female 7000
Male 7000
Paris Female 5000
Male 4250
Tokyo Male 5166.666667
可以看到,这个数据表格按城市和性别对薪水进行了聚合,填充了缺失值,计算了平均薪水。
Pandas.pivot_table() 的灵活性和易用性使之成为 Pandas 库的重要组成部分之一。我们完全可以使用 Pandas.pivot_table() 从大量数据中提取出有价值的信息,以便决策者进行更好的分析和把握决策方向。该函数在 ETL、数据分析、数据挖掘、机器学习、数据可视化等诸多领域都有着广泛的应用。