Требуемое преобразование: pd.melt()
( документация ):
id_vars
: кортеж, список или ndarray, необязательно Столбцы для использования в качестве переменных идентификатора.
value_vars
кортеж, список или ndarray, необязательно Столбцы, которые нужно отменить. Если не указано, используются все столбцы, которые не заданы как id_vars.
var_name
скаляр Имя для столбца "переменная". Если None использует frame.columns.name или 'variable'.
value_name
скаляр, значение по умолчанию Имя для использования для столбца «значение».
df = pd.melt(df,
id_vars = ['Regions'],
value_vars = ['1°', '2°', '3°', '4°'],
var_name = 'Label',
value_name = 'Value')
Начальный фрейм данных:
Regions 1° 2° 3° 4°
0 Africa 23.31 23.41 23.86 23.95
1 Asia 18.95 19.21 20.35 20.42
2 Australia/South Pacific 17.01 17.33 17.11 17.37
3 Europe 10.43 10.11 11.33 11.64
4 Middle East 21.99 22.78 24.16 23.90
5 North America 12.66 12.10 14.27 13.81
6 South/Central America & Carribean 22.13 22.39 23.00 22.88
Преобразованный фрейм данных:
Regions Label Value
0 Africa 1° 23.31
1 Asia 1° 18.95
2 Australia/South Pacific 1° 17.01
3 Europe 1° 10.43
4 Middle East 1° 21.99
5 North America 1° 12.66
6 South/Central America & Carribean 1° 22.13
7 Africa 2° 23.41
8 Asia 2° 19.21
9 Australia/South Pacific 2° 17.33
10 Europe 2° 10.11
11 Middle East 2° 22.78
12 North America 2° 12.10
13 South/Central America & Carribean 2° 22.39
14 Africa 3° 23.86
15 Asia 3° 20.35
16 Australia/South Pacific 3° 17.11
17 Europe 3° 11.33
18 Middle East 3° 24.16
19 North America 3° 14.27
20 South/Central America & Carribean 3° 23.00
21 Africa 4° 23.95
22 Asia 4° 20.42
23 Australia/South Pacific 4° 17.37
24 Europe 4° 11.64
25 Middle East 4° 23.90
26 North America 4° 13.81
27 South/Central America & Carribean 4° 22.88