Python学习笔记:删除多级索引
在 Python
中使用 stack/unstack/melt/pivot_talbe
等函数进行聚合之后,计算得到的结果具有多层索引。
一般情况下可以通过额外指定 columns
或者通过 reset_index()
可重置。
一、举个例子
import pandas as pd
import numpy as np
# 创建数据框
df = pd.DataFrame(np.arange(9).reshape(3,3),
columns=[['x','x','y'],['x1','x2','y1']],
index=[['A','A','B'],['a','a','b']])
# 索引
df.index
'''
MultiIndex([('A', 'a'),
('A', 'a'),
('B', 'b')],
)
'''
# 列名
df.columns
'''
MultiIndex([('x', 'x1'),
('x', 'x2'),
('y', 'y1')],
)
'''
二、降低索引级别
# 合并多级索引
df.columns = ["_".join(x) for x in df.columns.ravel()]
Pandas.Series.ravel()
函数将展平的基础数据作为 ndarray
返回。
三、删除索引
# 删除
df.columns = df.columns.droplevel(1) # 删除第2层索引
df.columns = df.columns.droplevel(0) # 删除最外层索引
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)