我想在我的数据帧中添加一个子级(L4),基于一系列值:
x = [0.01, 0.01, 0.01, 0.02, 0.02, 0.02]
那个测向列把这个还给我:
MultiIndex(levels=[['Foo', 'Bar'], ['A', 'B', 'C'], ['a']],
labels=[[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2], [0, 0, 0, 0, 0, 0]],
names=['L1', 'L2', 'L3'])
到目前为止,我已经尝试过:
df = pd.concat([df], keys=x, names=['L4'], axis=1).swaplevel(i='L4', j='L1', axis=1).swaplevel(i='L4', j='L2', axis=1).swaplevel(i='L4', j='L3', axis=1)
但它并没有给出好的值,它重复了列表级别[0](0.01)。你知道吗
你知道我怎么做吗?你知道吗
谢谢
这里有一个方法:
输出:
您可以创建一个以列索引为索引的数据帧,
data
是您想要添加的级别,因为set_index(append=True)
只为行索引定义。然后给它赋值df.columns = ...
在引擎盖下
set_index
只是在追加时重新创建整个多索引,因此需要一种更实际的方法相关问题 更多 >
编程相关推荐