Прочитайте многоиндексный файл Excel и измените заголовки в Pandas - PullRequest
1 голос
/ 23 апреля 2020

Учитывая файл Excel data.xlsx следующим образом:

enter image description here

Я прочитал его с df = pd.read_excel('data.xlsx', header = [0, 1], index_col = [0, 1], sheet_name = 'Sheet1'),

Out :

district  2018        2019      
         price ratio price ratio
bj cy       12  0.01     6  0.02
sh hp        4  0.02     3  0.05

Интересно, возможно ли преобразовать его в следующий формат? Спасибо за вашу помощь.

enter image description here

1 Ответ

2 голосов
/ 23 апреля 2020

Используйте DataFrame.stack с DataFrame.rename_axis и DataFrame.reset_index:

df = df.stack(0).rename_axis(('city','district','year')).reset_index()
print (df)
  city district  year  price  ratio
0   bj       cy  2018     12   0.01
1   bj       cy  2019      6   0.02
2   sh       hp  2018      4   0.02
3   sh       hp  2019      3   0.05
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...