Python Pandas – 使用MultiIndex的级别创建DataFrame作为列并替换索引级别名称
要创建一个DataFrame,其中MultiIndex的级别作为列,请使用 MultiIndex.to_frame() 方法。使用 name 参数替换索引级别名称。
首先,导入所需的库 –
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)
使用to_frame()创建将MultiIndex的级别作为列的DataFrame。使用“name”参数并传递名称以替换索引级别名称 –
dataFrame = multiIndex.to_frame(name=['One', 'Two'])
示例
以下是代码 –
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)
#显示MultiIndex
print("The Multi-index...\n",multiIndex)
#获取MultiIndex中的级别
print("\nThe levels in Multi-index...\n",multiIndex.levels)
#使用to_frame()创建将MultiIndex的级别作为列的DataFrame
#使用“name”参数并传递名称以替换索引级别名称
dataFrame = multiIndex.to_frame(name=['One', 'Two'])
#显示DataFrame
print("\nThe DataFrame...\n",dataFrame)
输出
这将产生以下输出 –
The Multi-index...
MultiIndex([(1, 'John'),
(2, 'Tim'),
(3, 'Jacob'),
(4, 'Chris')])
The levels in Multi-index...
[[1, 2, 3, 4], ['Chris','Jacob','John','Tim']]
The DataFrame...
One Two
1 John 1 John
2 Tim 2 Tim
3 Jacob 3 Jacob
4 Chris 4 Chris
极客教程