Python Pandas – 在多重索引中设置级别
要在多重索引中设置级别,请使用 Pandas 中的 MultiIndex.set_levels() 方法。首先,请导入所需的库−
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在多重索引中设置新级别...\n",multiIndex.set_levels([['p', 'q', 'r', 's'], [10, 20, 30, 40]]))
示例
下面是代码−
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)
# 获取 MultiIndex 中的级别。
print("\n多重索引中的级别...\n",multiIndex.levels)
# 在 MultiIndex 中设置级别。
print("\n在多重索引中设置新级别...\n",multiIndex.set_levels([['p', 'q', 'r', 's'], [10, 20, 30, 40]]))
输出
以上代码将产生以下输出−
多重索引为...
MultiIndex([(1, 'John'),
(2, 'Tim'),
(3, 'Jacob'),
(4, 'Chris')],
names=['ranks', 'student'])
多重索引中的级别...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]
在多重索引中设置新级别...
MultiIndex([('p', 30),
('q', 40),
('r', 20),
('s', 10)],
names=['ranks', 'student'])