У меня есть эта таблица с Multiindex в столбцах, она читается из Excel
Unnamed: 0_level_0 Unnamed: 1_level_0 Unnamed: 2_level_0 2017 2018
Person Material Country DEMAND HITS MISSES FILLRATE DEMAND HITS MISSES FILLRATE
0 Person1 Material1 Spain 0 0 0 0 0 0 0 0
1 Person1 Material1 France 0 0 0 0 0 0 0 0
2 Person1 Material1 India 0 0 0 0 5 5 0 1
3 Person1 Material1 China 0 0 0 0 0 0 0 0
4 Person2 Material2 Spain 0 0 0 0 0 0 0 0
5 Person2 Material2 France 0 0 0 0 0 0 0 0
6 Person2 Material2 India 0 0 0 0 5 5 0 1
7 Person2 Material2 China 0 0 0 0 0 0 0 0
Я повторил структуру ниже, на случай, если онапомогает для возможных решений
# Column Multi-Index
col_idx_arr = list(zip(['', '', '', '2017', '2017', '2017', '2017', '2018', '2018', '2018', '2018'],
['Person', 'Material', 'Country', 'DEMAND', 'HITS', 'MISSES', 'FILLRATE', 'DEMAND', 'HITS', 'MISSES', 'FILLRATE']))
col_idx = pd.MultiIndex.from_tuples(col_idx_arr)
# Create the DataFrame
df = pd.DataFrame('-', index=range(10), columns=col_idx)
И я пытаюсь преобразовать это в «частично» укладку некоторые столбцы
Date Person Material Country DEMAND HITS MISSES FILLRATE
0 2017.0 Person1 Material1 Spain 0 0 0 0
1 NaN Person1 Material1 France 0 0 0 0
2 NaN Person1 Material1 India 0 0 0 0
3 NaN Person1 Material1 China 0 0 0 0
4 NaN Person2 Material2 Spain 0 0 0 0
5 NaN Person2 Material2 France 0 0 0 0
6 NaN Person2 Material2 India 0 0 0 0
7 NaN Person2 Material2 China 0 0 0 0
8 2018.0 Person1 Material1 Spain 0 0 0 0
9 NaN Person1 Material1 France 0 0 0 0
10 NaN Person1 Material1 India 5 5 0 1
11 NaN Person1 Material1 China 0 0 0 0
12 NaN Person2 Material2 Spain 0 0 0 0
13 NaN Person2 Material2 France 0 0 0 0
14 NaN Person2 Material2 India 5 5 0 1
15 NaN Person2 Material2 China 0 0 0 0