Pandas数据透视表(pivot_table)的存储与读取
创作时间:
作者:
@小白创作中心
Pandas数据透视表(pivot_table)的存储与读取
引用
CSDN
1.
https://m.blog.csdn.net/m0_47149835/article/details/139301205
在使用Pandas处理数据透视表时,经常会遇到列名多级索引的问题。本文将详细介绍如何创建数据透视表、保存为Excel文件,以及如何正确读取包含多级列索引的Excel文件。
当对某个DataFrame进行pd.pivot_table操作时,输出的透视表的列名会根据参数columns所指定的列内含有的类别进行细分,最终生成到Excel时,列名也会占据多行,虽然提高了肉眼的可读性,但再次用程序加载得到的表并不方便处理。
创建一个DataFrame
import pandas as pd
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], })
print(df)
输出结果:
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')
仔细观察MultiIndex
pivot_table的columns是MultiIndex,遍历输出后发现它由多个tuple组成,每一个tuple都代表了最细粒度的类别。
输出到Excel并重新读取
通过参数index_col(对应index)和header(对应columns),就可以读取前文已经输出到Excel的数据透视表
pd.read_excel('testing.xlsx', index_col=0, header=[0, 1])
index_col=0表示将第一列设为indexheader=[0, 1]表示将第1~2行作为columns
热门推荐
网络虚拟化详解:从基础概念到VMware三种网络模式
浙江医保的新红利你知道吗
书讯 |《苏美尔文明》
探索“AI知识库”的未来:重塑信息获取与教育的新篇章
分析问题的6大经典方法
2025十大AI技术趋势:具身智能、世界模型都有望迎来ChatGPT时刻
气韵生动:中国传统绘画美学核心的理论与实践探析
松材线虫入侵威胁全球森林碳汇:中科院研究揭示其全球风险
出生医学证明档案可在线查询啦!
步行一小时减肥效果如何?科学解读步行减肥的利与弊
中国天文学的后来居上:纳赫兹引力波探测
中国天文学的后来居上:纳赫兹引力波探测
苏州汉服社:以青春之名,传承千年汉服文化
枝干番杏怎么养?养殖方法与注意事项!
日元上的头像都是什么人物?
孩子脸上无缘无故的出现白斑,会是白癜风吗?
快手SEO优化技巧:如何提高短视频播放量并吸引更多观众
“胰”防万一:带你了解急性胰腺炎
转账记录涉及法律问题全解析:从警方调查到款项追回
买房和不买房,差别有多大?专家:10年以后,差别不止一套房子
恭王府:半部清代史的见证者
学习修车的最佳途径是什么?修车技能的学习难度如何?
硬盘SMART测试:执行和解读测试结果的完整指南
“3小时旅游圈”为何持续圈粉?
2024年高分科幻动作美剧:游戏改编,少女勇闯核爆废土
从《仙剑奇侠传》到《艾尔登法环》:游改影视风潮未泯,国产游改何去何从
借款合同有哪些规定?借款纠纷如何立案?
间谍活动对国家安全的影响及应对策略
传奇游戏发展历程综述及其对玩家体验的影响
哪吒2引全网COS,从角色狂欢到文化共创的国漫进阶