Python Pandas – 将 MultiIndex 转换为包含级别值的元组索引
要将 MultiIndex 转换为包含级别值的元组索引,请使用 MultiIndex.to_flat_index() 方法。
首先,导入所需的库 −
import pandas as pd
MultiIndex 是 pandas 对象的多级或分层索引对象。创建数组 −
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
“names” 参数设置每个索引级别的名称。使用 from_arrays() 创建 MultiIndex −
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
转换 MultiIndex −
print("\n将 MultiIndex 转换为包含级别值的元组索引...\n",multiIndex.to_flat_index())
更多Pandas文章,请阅读:Pandas教程
示例
以下是代码 −
import pandas as pd
# MultiIndex 是 pandas 对象的多级或分层索引对象
# 创建数组
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
# "names" 参数设置每个索引级别的名称
# 使用 from_arrays() 创建 MultiIndex
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
# 显示 MultiIndex
print("MultiIndex...\n",multiIndex)
# 获取 MultiIndex 中的级别
print("\nMultiIndex 中的级别...\n",multiIndex.levels)
# 转换 MultiIndex
print("\n将 MultiIndex 转换为包含级别值的元组索引...\n",multiIndex.to_flat_index())
输出
这将产生以下输出 −
MultiIndex([(1, 'John'),
(2, 'Tim'),
(3, 'Jacob'),
(4, 'Chris')],
names=['ranks', 'student'])
MultiIndex 中的级别...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]
将 MultiIndex 转换为包含级别值的元组索引...
Index([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris')], dtype='object')