在 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) # 删除最外层索引
标签:index,删除,Python,多级,索引,df,columns From: https://www.cnblogs.com/hider/p/16909574.html