Ошибка типа: не может вставить элемент в Категориальный индекс, который еще не является существующей категорией - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь создать новый столбец во фрейме данных pandas, представляющий сумму каждой строки (в данном случае это число представляет количество пассажиров в конкретном году из набора данных Seaborn Рейсы, который поставляется с библиотека при импорте. Вот мой код:

import pandas as pd
import seaborn

flights = seaborn.load_dataset('flights')

flights_indexed = flights.set_index(['year', 'month'])

# create a flights_unstacked DataFrame

flights_unstacked = flights_indexed['passengers'].unstack()

flights_unstacked['total'] = flights_unstacked.sum(axis=1)

Я получаю несколько ключевых ошибок:

KeyError: 'total' Во время обработки вышеуказанного исключения другое исключение произошло: ...

Я полагаю, что ошибка "ключа" (каламбур) - это ошибка типа, которую я также получаю:

Ошибка типа: невозможно вставить элемент в Категориальный индекс, который еще не существует

1 Ответ

1 голос
/ 09 марта 2020

Существует CategoricalIndex, поэтому ошибка, потому что total не существует в categories.

Возможное решение - преобразовать столбцы в строки:

flights_unstacked.columns = flights_unstacked.columns.astype(str)
flights_unstacked['total'] = flights_unstacked.sum(axis=1)

Или добавить категорию на CategoricalIndex.add_categories:

flights_unstacked.columns = flights_unstacked.columns.add_categories('total')
flights_unstacked['total'] = flights_unstacked.sum(axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...