Ошибка атрибута во время подсчета в Python? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть Pandas DataFrame, как это: data = pd.DataFrame({"Risk":["good", "good", "bad", "good", "bad", "bad", "good"]}) И я хочу создать счетчик seaborn, который будет считать количество «хорошо» и «плохо», поэтому у меня есть код:

ax = sns.countplot(x="Risk", data=data)
ax

Но когда я хочу использовать приведенный выше код, у меня появляется ошибка: AttributeError: 'list' object has no attribute 'get'

Я хочу добиться сюжета следующим образом: enter image description here

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Проверьте последний элемент в ваших данных. Или, возможно, вы указали data = data.Risk в качестве аргумента для countplot (). В противном случае код работает нормально. Вам необходимо вызвать метод show (), используя объект matplotlib.

>>> import matplotlib.pyplot as plt
>>> import seaborn as sns
>>> data = pd.DataFrame({"Risk":["good", "good", "bad", "good", "bad", "bad", "good"]})
>>> ax = sns.countplot(x="Risk", data=data)
>>> plt.show()

Вы имели эту ошибку, потому что в Data sns.countplot () пытается найти данные Risk в данных набора данных. Он пытается выполнить следующую функцию.

data.get ('Risk') Когда вы выполняете указанный выше код, будут напечатаны данные серии Risk. В вашем коде данные имели список в качестве входных данных, поэтому генерировалась ошибка, что get не поддерживается списком. Используется с Pandas DataFrame. Это изображение содержит количество в соответствии с категориями риска, то есть хорошими и плохими.

0 голосов
/ 20 февраля 2020

Может быть, еще раз проверить ваши данные?

data = pd.DataFrame({"Risk":["good", "good", "bad", "good", "bad", "bad", "good"]})
ax = sns.countplot(x="Risk", data=data)
ax

Запуск этого отлично показывает график:

enter image description here

...