[ Pandas version: 1.0.1 ]
九、数据透视表
数据透视表(pivot table)将每一列数据作为输入,输出将数据不断细分成多个维度累计信息的二维数据表(多维GroupBy累计操作,行列同时分组)
(一)GroupBy 实现数据透视表
import numpy as np
import pandas as pd
titanic = pd.read_csv('./seaborn-data-master/titanic.csv')
titanic.head()
# 统计不同性别乘客的生还率
titanic.groupby('sex')[['survived']].mean()
# survived
# sex
# female 0.742038
# male 0.188908
# 不同性别与船舱等级的生还情况
titanic.groupby(['sex', 'class'])['survived'].aggregate('mean').unstack()
# class First Second Third
# sex
# female 0.968085 0.921053 0.500000
# male 0.368852 0.157407 0.135447
# 不同性别与船舱等级的生还情况 (pivot_table实现)
titanic.pivot_table('survived', index='sex', columns='class')
# class First Second Third
# sex
# female 0.968085 0.921053 0.500000
# male 0.368852 0.157407 0.135447
(二)数据透视表语法 pivot_table
DataFrame的pivot_table
能够快速解决多维的累计分析任务。