Python Pandas – 设置多级索引中的单个特定新级别
要在多级索引中仅设置单个特定新级别,请使用具有参数level的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'))
我们使用“level”参数设置了一个新的单个特定级别 −
print("\n设置多索引中的新级别...\n",multiIndex.set_levels(['p', 'q', 'r', 's'], level = 0))
示例
以下是代码 −
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中的级别
# 我们使用“level”参数设置了一个新的单个特定级别
print("\n设置多索引中的新级别...\n",multiIndex.set_levels(['p', 'q', 'r', 's'], level = 0))
输出
这将生成以下输出 −
MultiIndex为...
MultiIndex([(1, 'John'),
(2, 'Tim'),
(3, 'Jacob'),
(4, 'Chris')],
names=['ranks', 'student'])
MultiIndex中的级别为...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]
设置多索引中的新级别...
MultiIndex([('p', 'John'),
('q', 'Tim'),
('r', 'Jacob'),
('s', 'Chris')],
names=['ranks', 'student'])