Python Pandas – 使用级别名称返回删除多个级别的MultiIndex

Python Pandas – 使用级别名称返回删除多个级别的MultiIndex

要使用级别名称返回删除多个级别的MultiIndex,请使用 MultiIndex.droplevel() 方法,并将需要删除的多个层级(即级别名称)设置为参数。

首先,导入所需的库−

import pandas as pd

MultiIndex是pandas对象的多级索引对象。创建数组−

arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]

“names”参数为每个索引级别设置名称。 from_arrays()用于创建MultiIndex−

multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))

从MultiIndex中删除特定级别。要删除的级别设置为参数中的级别名称,即级别名称’student’和’rank’被删除−

print("\n删除两个级别后的MultiIndex...\n",multiIndex.droplevel(['rank', 'student']))

示例

以下是代码−

import pandas as pd

# MultiIndex是pandas对象的多级索引对象
# 创建数组
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]

# "names"参数为每个索引级别设置名称
# 用from_arrays()创建MultiIndex
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))

# 显示MultiIndex
print("MultiIndex:\n",multiIndex)

# 获取MultiIndex中的级别
print("\nMultiIndex的级别:\n",multiIndex.levels)

# 从MultiIndex中删除特定级别
# 要删除的级别设置为参数中的级别名称,即级别名称“student”和“rank”将被删除
print("\n删除两个级别后的MultiIndex...\n",multiIndex.droplevel(['rank', 'student']))

输出

这将产生以下输出−

MultiIndex: 
MultiIndex([(2, 'Peter', 50),
            (4, 'Chris', 30),
            (3,  'Andy', 40),
            (1, 'Jacob', 70)],
            names=['rank', 'student', 'points'])

MultiIndex的级别:
   [[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter'], [30, 40, 50, 70]]

删除两个级别后的MultiIndex...
   Int64Index([50, 30, 40, 70], dtype='int64', name='points')

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程