『Python』Pandas数据透视表(pivot_table)的存储与读取

当对某个 D a t a F r a m e DataFrame DataFrame 进行 pd.pivot_table 操作时,输出的透视表的列名会根据参数 c o l u m n s columns columns 所指定的列内含有的类别进行细分,最终生成到 E x c e l Excel Excel 时,列名也会占据多行,虽然提高了肉眼的可读性,但再次用程序加载得到的表并不方便处理

Last updated:   \space   2024/05/31

创建一个DateFrame

df = pd.DataFrame(
	              data={'User': ['Jaye', 'Ben', 'Ben', 'Jaye', 'Leo'], 
                        'Class one?': ['Y', 'N', 'Y', 'Y', 'N'], 
                        'Value': [5, 7.0, 10, 2, 8.8], })
                        
>> User Class one?  Value
0  Jaye          Y    5.0
1   Ben          N    7.0
2   Ben          Y   10.0
3  Jaye          Y    2.0
4   Leo          N    8.8



创建数据透视表

df_pivot = pd.pivot_table(df, index='User', columns='Class one?', aggfunc='sum')
df_pivot.to_excel('testing.xlsx')

在这里插入图片描述

仔细观察 M u l t i I n d e x MultiIndex MultiIndex

p i v o t _ t a b l e pivot\_table pivot_table c o l u m n s columns columns M u l t i I n d e x MultiIndex MultiIndex

遍历输出后发现它由多个 t u p l e tuple tuple 组成,每一个 t u p l e tuple tuple 都代表了最细粒度的类别
在这里插入图片描述

输出到 E x c e l Excel Excel并重新读取

在这里插入图片描述
在这里插入图片描述

通过参数index_col(对应 i n d e x index index) 和 header(对于 c o l u m n s columns columns), 就可以读取前文已经输出到 E x c e l Excel Excel 的数据透视表

pd.read_excel('testing.xlsx', index_col=0, header=[0, 1])
  1. index_col=0表示将第一列设为 i n d e x index index
  2. header=[0, 1]表示将第1~2行作为 c o l u m n s columns columns

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值