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 pandas多层次索引降级为单层索引

posted @   Hider1214  阅读(1434)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示