惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
量子位
Blog — PlanetScale
Blog — PlanetScale
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
D
Docker
罗磊的独立博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
IT之家
IT之家
MyScale Blog
MyScale Blog
Microsoft Azure Blog
Microsoft Azure Blog

老董笔记

尚硅谷机构在哪?尚硅谷培训怎么样?靠谱吗-互联网IT百科 韩顺平介绍,传智讲师,开办泰牛,入尚硅谷等一系列-互联网IT百科 cannot join with no overlapping index names-互联网IT百科 pandas多列变多行(即宽表变长表)melt和stack函数-互联网IT百科 pandas多行转多列(长表变宽表)pivot和unstack-互联网IT百科 Index contains duplicate entries, cannot reshape完美解决-互联网IT百科 single positional indexer is out-of-bounds-互联网IT百科 Can only compare identically-labeled Series objects-互联网IT百科 pandas transform用法详解(多个案例)-互联网IT百科 python四舍五入精确实现-互联网IT百科 pandas的groupby使用apply分组排序-互联网IT百科 index 0 is out of bounds for axis 0 with size 0-互联网IT百科 pandas分组过滤filter函数-互联网IT百科 联想Win10系统如何禁用触摸屏关闭触摸-互联网IT百科 groupby分组计算transform转换返回相同长度序列-互联网IT百科 brooks seo教程python教程,brooks seo教程网盘,布鲁seo资源-互联网IT百科 电脑右键文件夹一直转圈电卡死怎么回事-互联网IT百科 施琪嘉的心理成长课(荐)-互联网IT百科 百度SEO公司_SEO推广公司哪家好_SEO外包服务如何选-老董笔记 groupby后agg同1列用多个聚合函数、不同列用不同函数、自定义函数-互联网IT百科 pandas的groupby单列多列分组聚合运算-互联网IT百科 DataFrameGroupBy对象及分组个数、分组大小、组名索引、组数据详解-互联网IT百科 pandas中groupby之Grouper and axis must be same length-互联网IT百科 pandas中groupby的分组原理-互联网IT百科 pandas的groupby的使用详解大全-互联网IT百科 openpyxl单元格自动换行强制换行Alignment(wrapText=True)-互联网IT百科 python教程全套(可就业)-互联网IT百科 联想win10系统CPU显示100%,电脑呼呼响怎么回事-互联网IT百科 如何自制CPU,CPU原理是怎么样的?-互联网IT百科 多款视频制作工具(免费)分享及素材推荐-互联网IT百科
pandas多重索引标准样式(写入excel有空行)-互联网IT百科
2022-05-01 · via 老董笔记

  推荐7种方式实现pandas创建多重索引。pandas中df的列索引和行索引都可以有name属性(多层索引就是names属性),所以一旦涉及多层索引,pandas需要预留位置来展示多层索引可能存在的names属性,因此在一些展示上可能和我们想的不同。我们看1个两层索引的df在excel中的样子(你可能好奇为啥有空行):

  通过index_col和header参数来读取上述excel,读取成行和列都是2层索引的df,展示如下:

# -*- coding:UTF-8 -*-
import pandas as pd   

df = pd.read_excel('11.xlsx',index_col=[0,1],header=[0,1])
print(df)
print('-----------')
print(df.index.values)
print(df.columns.values)
print(type(df.index))
           北京          上海      
           pc    mo    pc    mo
年份   指标                        
2020 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
2021 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
-----------
[(2020, 'UV') (2020, 'PV') (2021, 'UV') (2021, 'PV')]
[('北京', 'pc') ('北京', 'mo') ('上海', 'pc') ('上海', 'mo')]
<class 'pandas.core.indexes.multi.MultiIndex'>

  上面的excel之所以有空行,是因为行索引names属性的存在,读取上述格式excel时候【年份、指标】是行索引的名字(names属性),如下代码可印证:

# -*- coding:UTF-8 -*-
import pandas as pd   

df = pd.read_excel('11.xlsx',index_col=[0,1],header=[0,1])
print(df)
print('------------')
print(df.index.names)
print('------------')
df.index.names = (None,None) # 删除行索引名字
print(df)
           北京          上海      
           pc    mo    pc    mo
年份   指标                        
2020 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
2021 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
------------
['年份', '指标']
------------
           北京          上海      
           pc    mo    pc    mo
2020 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
2021 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400

  然后我们再给列索引增加names属性,列索引是双层,也是需要元组,然后整个df如下:

# -*- coding:UTF-8 -*-
import pandas as pd   

df = pd.read_excel('11.xlsx',index_col=[0,1],header=[0,1])
print(df)
print('------------')
df.columns.names=('城市','端口')
print(df)
           北京          上海      
           pc    mo    pc    mo
年份   指标                        
2020 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
2021 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
------------
城市         北京          上海      
端口         pc    mo    pc    mo
年份   指标                        
2020 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400
2021 UV  1000  2000  1100  2200
     PV  2000  4000  2200  4400

  我们把上述df写入excel就是这样子。

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会