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'])