Ошибка при попытке построить простую гистограмму - PullRequest
1 голос
/ 01 июля 2019

У меня есть кадр данных, который выглядит следующим образом:

enter image description here

Это выглядит немного странно, потому что в 'product_id' есть пробел, ноэто датафрейм.Я проверил это с помощью этого метода.

if isinstance(prod_names, pd.DataFrame):
    print('DF')

DF происходит от функции счета.

prod_names = pd.DataFrame(df.groupby('product_name')['product_id'].count().sort_values(ascending=False).head(20))

Теперь я пытаюсь построить результаты, как это.

pd.value_counts(prod_names['product_name']).plot.bar()

Когда я запускаю эту строку кода, я получаю эту ошибку:

KeyError: 'product_name'

Когда я перечисляю имена полей в фрейме данных 'product_names'

list(prod_names)

Я вижу только: ['product_id']

По какой-то причине поле 'product_name' отсутствует.Это может быть как-то связано с пробелом под 'product_id', но я не уверен.Мысли?

1 Ответ

1 голос
/ 01 июля 2019

Скорее всего, название вашего продукта здесь указывается в виде индекса.Я не вижу никаких других индексов здесь.И в этом случае вы не можете получить к нему доступ через имя столбца.Вы можете или сбросить индекс (добавить новый числовой столбец) через prod_names.reset_index() или, в качестве альтернативы, просто позвонить prod_names.index, чтобы увидеть информацию о названии продукта.В первом случае вы можете сохранить свою функцию, во втором вы можете изменить ее на что-то вроде pd.value_counts(prod_names.index).plot.bar()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...