Работа с мультииндексными заголовками dataFrame - Python - PullRequest
0 голосов
/ 02 октября 2019

У меня есть датафрейм, который выглядит следующим образом. В заголовке он имеет 2 строки заголовка, например один заголовок в строке 1, покрывающий 5 подзаголовков в строке 2.

	     Toneladas planta, ton		
  Fecha 	Fecha 	Ton  SAG1	Ton1
1_2017	1/1/2017	827	1309	2195
1_2017	1/2/2017	913	1343	2222
1_2017	1/3/2017	887	1435	2272
1_2017	1/4/2017	877	1388	2151
1_2017	1/5/2017	900	1236	2177
1_2017	1/6/2017	797	1201	2012
1_2017	1/7/2017	751	1215	2109
1_2017	1/8/2017	851	1241	2109
1_2017	1/9/2017	917	1408	2303
1_2017	1/10/2017	864	1529	2414
1_2017	1/11/2017	911	1560	2383

Dataframe

Значения в строке 2 имеют для меня значение. Но когда я применяю функции к фрейму данных, он не может определить заголовки строки 2 и дает ложные значения. Например: df.info (), как функции, дает неправильные значения.

Я хотел бы знать, если есть способ, я могу либо смешать два заголовка в один, так, чтобы эта строка1 становится префиксом, а строка 2 - суффиксом заголовка акций.

Как: Toneladas planta, тонна Fecha Fecha

становится: Toneladas planta, тонна Fecha Toneladas planta, тонна Fecha

, так как в противном случае слишком сложно работать с фреймом данных.

Спасибо

1 Ответ

1 голос
/ 02 октября 2019

С учетом следующего листа Excel:

enter image description here

  • Просто укажите строку заголовка с параметром header и usecols дляполучить правильные столбцы
df = pd.read_excel('file.xlsx', header=3, usecols='A:E')

  Fecha    Fecha.1    Ton SAG1     Ton SAG2  Ton  Planta
 1_2017 2017-01-01  826.555503  1308.834944  2194.939490
 1_2017 2017-01-02  912.653670  1343.165048  2221.776328
 1_2017 2017-01-03  886.866000  1434.944123  2272.475950
 1_2017 2017-01-04  877.476604  1388.086279  2150.790596
 1_2017 2017-01-05  900.459985  1236.101284  2177.152583
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...