Python 添加增加总列数的列级别
我创建了一个数据帧,如下所示Python 添加增加总列数的列级别,python,pandas,multi-index,Python,Pandas,Multi Index,我创建了一个数据帧,如下所示 myidx=['idx1','idx2','idx3'] mycols=['a','b','c','d'] df=pd.DataFrame(index=myidx,columns=mycols) 然后我想添加一个新的列级别,其中包含n重复值。比如说: mycolsnewlvl=['foo','bar','baz'] 预期产出将是: a b c d
myidx=['idx1','idx2','idx3']
mycols=['a','b','c','d']
df=pd.DataFrame(index=myidx,columns=mycols)
然后我想添加一个新的列级别,其中包含n
重复值。比如说:
mycolsnewlvl=['foo','bar','baz']
预期产出将是:
a b c d
foo bar baz foo bar baz foo bar baz foo bar baz
idx1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
idx2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
idx3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
我试着跟着
但它的回报是:
ValueError:长度不匹配:预期轴有8个元素,新值有24个元素
我也查看了一下,但无法使其适用于我的案例。用于重复列by多索引
值:
mux = pd.MultiIndex.from_product([df.columns, ['foo','bar','baz']])
df = df.reindex(mux, axis=1)
print (df)
a b c d
foo bar baz foo bar baz foo bar baz foo bar baz
idx1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
idx2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
idx3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
df.columns = pd.MultiIndex.from_product([df.columns, ['foo','bar','baz']])
mux = pd.MultiIndex.from_product([df.columns, ['foo','bar','baz']])
df = df.reindex(mux, axis=1)
print (df)
a b c d
foo bar baz foo bar baz foo bar baz foo bar baz
idx1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
idx2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
idx3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN