Pandas Ошибка - В столбцах нет индекса - PullRequest
0 голосов
/ 27 мая 2020

Описание проблемы У меня есть данные CSV, как показано на изображении. Из этого я должен использовать только сохранить RegionName, State и средние квартальные значения с 2000 по 2016 год. Кроме того, я хочу использовать мультииндексирование с [State, RegionName]. enter image description here enter image description here

Я работаю над файлом CSV с pandas в python. Как показано на скриншоте.

Заранее спасибо.

1 Ответ

2 голосов
/ 27 мая 2020

Прямо перед неприятным for year in range(...) l oop, вы сделали:

house_data.columns = pd.to_datetime(house_data.columns).to_period('M')

Это означает, что ваши столбцы больше не являются строками. Таким образом, внутри for l oop:

house_data[str(year)+'q2'] = house_data[[str(year)+'-04',...]].mean(axis=1)

произойдет сбой и возникнет эта ошибка, поскольку нет столбца с строкой именем. Чтобы исправить это, сделайте следующее:

house_data.columns = pd.to_datetime(house_data.columns).to_period('M').strftime('%Y-%m')

Однако вам лучше сделать:

house_data.columns = pd.to_datetime(house_data.columns).to_period('Q')

house_data.groupby(level=0, axis=1).mean()
...