使用Pandas创建多级索引级别作为列的数据帧
要创建多级索引的级别作为列的数据帧,请使用Pandas中的 to_frame() 方法。
首先,导入所需的库 –
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'))
使用to_frame()创建一个级别为MultiIndex的DataFrame作为列 –
dataFrame = multiIndex.to_frame()
例子
以下是代码 –
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("The Multi-index...\n",multiIndex)
# 获取MultiIndex中的级别
print("\nThe levels in Multi-index...\n",multiIndex.levels)
# 使用to_frame()创建一个级别为MultiIndex的DataFrame作为列
dataFrame = multiIndex.to_frame()
# 显示数据框
print("\nThe DataFrame...\n",dataFrame)
输出
这将产生以下输出 –
The Multi-index...
MultiIndex([(1, 'John'),
(2, 'Tim'),
(3, 'Jacob'),
(4, 'Chris')],
names=['ranks', 'student'])
The levels in Multi-index...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]
The DataFrame...
ranks student
ranks student
1 John 1 John
2 Tim 2 Tim
3 Jacob 3 Jacob
4 Chris 4 Chris