Python Pandas - 从多索引中的特定级别获取值

pythonpandasserver side programmingprogramming

要从多索引中的特定级别获取值,请使用 Pandas 中的 multiIndex.get_level_values() 方法。

首先,导入所需的库 −

import pandas as pd

创建多索引。 names 参数设置索引中级别的名称

multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]],
names=['a', 'b', 'c', 'd'])

从特定值获取值。获取第 0 级值 −

print("\n获取级别值 (0 级)...\n",multiIndex.get_level_values(0))

获取第 1 级值 −

print("\n获取级别值 (1 级)...\n",multiIndex.get_level_values(1))

示例

以下是代码 −

import pandas as pd

# 创建多索引
# names 参数设置名称索引中的级别
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]],
names=['a', 'b', 'c', 'd'])

print("Multi-index...\n",multiIndex)

# 获取第 0 级值
print("\n获取级别值 (第 0 级)...\n",multiIndex.get_level_values(0))

# 获取第 1 级值
print("\n获取级别值 (第 1 级)...\n",multiIndex.get_level_values(1))

# 从多索引中删除一个级别
print("\n删除级别...\n",multiIndex.droplevel())

输出

这将产生以下输出 −

Multi-index...
MultiIndex([( 5, 15, 25, 35),
(10, 20, 30, 40)],
names=['a', 'b', 'c', 'd'])

获取级别值(第 0 级)...
Int64Index([5, 10], dtype='int64', name='a')

获取级别值(第 1 级)...
Int64Index([15, 20], dtype='int64', name='b')

删除级别...
MultiIndex([(15, 25, 35),
(20, 30, 40)],
names=['b', 'c', 'd'])

相关文章