Вопрос или проблема
Я хочу построить гистограмму, но после импорта библиотеки под названием graphing у меня возникает ошибка, даже когда она была установлена.
import graphing
graphing.histogram(dataset, label_x='Pclass', label_y='Survived', histfunc="avg", include_boxplot=True)
Вот сообщение об ошибке.
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_15336\3609384830.py in <module>
1 import graphing
2
----> 3 graphing.histogram(dataset, label_x='Pclass', label_y='Survived', histfunc="avg", include_boxplot=True)
AttributeError: module 'graphing' has no attribute 'histogram'
У вас есть советы по тому, как с этим справиться? Спасибо.
Сообщение об ошибке говорит вам, что Python сумел импортировать пакет graphing
, но в этом пакете нет атрибута/функции с названием histogram
.
Некоторые возможные объяснения:
- Это неправильное название функции, которую вы хотите использовать (в matplotlib, которую вы отметили, функция называется
hist
, а неhistogram
). - Функция находится в подмодуле graphing, поэтому вам нужно вызывать
graphing.<submodule>.histogram
. - Вы импортируете неправильный пакет
graphing
. Вы можете использовать такие переменные, какgraphing.__path__
(которая показывает, откуда был загружен пакет), чтобы помочь выяснить, является ли это проблемой.
Ответ или решение
Ошибка AttributeError: module ‘graphing’ has no attribute ‘histogram’ может быть вызвана несколькими причинами. Рассмотрим детально возможные сценарии и способы их решения.
1. Неверное название функции
Возникает высокая вероятность, что вы используете неверное название функции. Например, если ваша цель — построить гистограмму с использованием популярной библиотеки визуализации данных matplotlib
, функция для создания гистограммы называется hist
, а не histogram
. Попробуйте изменить ваш код следующим образом:
import matplotlib.pyplot as plt
plt.hist(dataset['Pclass'], weights=dataset['Survived'], bins=10)
plt.xlabel('Pclass')
plt.ylabel('Survived')
plt.show()
2. Функция находится в подмодуле
Если функция histogram
действительно существует в библиотеке graphing
, но находится в подмодуле, вам нужно будет указать полный путь к функции. Например:
import graphing.submodule_name as sub
sub.histogram(dataset, label_x='Pclass', label_y='Survived', histfunc="avg", include_boxplot=True)
3. Импортирует не ту библиотеку
Проверьте, что вы импортировали правильный пакет. В Python могут существовать несколько библиотек с похожими названиями. Чтобы убедиться в том, какая именно библиотека была загружена, выполните следующее:
import graphing
print(graphing.__file__)
Это выведет путь к загруженной библиотеке, что поможет вам проверить ее версию и источник. Вполне возможно, что вы используете библиотеку, не содержащую нужной функции.
4. Обновите библиотеку
Если у вас старая версия библиотеки, возможно, функция histogram
была добавлена в более поздних версиях. Обновите пакет с помощью:
pip install --upgrade graphing
5. Прочитайте документацию
Наилучший способ разобраться в API библиотеки — это обратиться к официальной документации. Проверьте, поддерживается ли функция histogram
, как она используется и какие параметры принимает. Это может помочь вам устранить ошибку, основанную на неправильном предположении.
Заключение
Ошибки, подобные AttributeError, часто возникают из-за опечаток или неясностей в названии функций и модулей. Убедитесь, что вы правильно используете функцию, обращая внимание на то, где она находится, и синтаксис, который требует используемая вами библиотека. Следуя этим шагам, вы сможете решить проблему и успешно построить нужную гистограмму.