У меня есть этот мультииндексный фрейм данных:
df=pd.DataFrame(np.zeros((3,6)))
df.columns=pd.MultiIndex.from_arrays([['a','a','b','b','c','c'],[1,2,1,2,1,2]])
df['a']=10
df['b']=20
df['c']=40
print(df)
Out[10]:
a b c
1 2 1 2 1 2
0 10 10 20 20 40 40
1 10 10 20 20 40 40
2 10 10 20 20 40 40
И я хочу получить это:
Out[10]:
names 1 2
0 a 10 10
1 a 10 10
2 a 10 10
0 b 20 20
1 b 20 20
2 b 20 20
0 c 40 40
1 c 40 40
2 c 40 40
Я знаю, что могу разделить каждый уровень первого столбца в кадре данных, а затем добавить его, но я ищу лучший способ сделать это.
Я пытался сделать это с помощью команды melt, но всегда получаю сообщение об ошибке.
Есть идеи?