Кто -нибудь может объяснить следующую ошибку в моем коде Python?
-
16-10-2019 - |
Вопрос
Я анализирую набор данных в Python для строго обучения. В приведенном ниже коде, который я написал, я получаю некоторые ошибки, которые я не могу избавиться. Вот код сначала:
plt.plot(decade_mean.index, decade_mean.values, 'o-',color='r',lw=3,label = 'Decade Average')
plt.scatter(movieDF.year, movieDF.rating, color='k', alpha = 0.3, lw=2)
plt.xlabel('Year')
plt.ylabel('Rating')
remove_border()
Я получаю следующие ошибки:
1. TypeError: 'str' object is not callable
2. NameError: name 'remove_border' is not defined
Кроме того, на графике не отображается метка = «среднее десятилетие».
Больше всего меня сбивает с толку тот факт, что в отдельном фрагменте кода для участков (см. Ниже) я не получил первую ошибку выше, хотя remove_border
все еще была проблемой.
plt.hist(movieDF.rating, bins = 5, color = 'blue', alpha = 0.3)
plt.xlabel('Rating')
Любые объяснения всех или некоторых ошибок были бы очень оценены. Спасибо
После комментариев я публикую данные и Traceback ниже: Decade_mean приведен ниже.
year
1970 8.925000
1980 8.650000
1990 8.615789
2000 8.378947
2010 8.233333
Name: rating, dtype: float64
проследить:
TypeError Traceback (most recent call last)
<ipython-input-361-a6efc7e46c45> in <module>()
1 plt.plot(decade_mean.index, decade_mean.values, 'o-',color='r',lw=3,label = 'Decade Average')
2 plt.scatter(movieDF.year, movieDF.rating, color='k', alpha = 0.3, lw=2)
----> 3 plt.xlabel('Year')
4 plt.ylabel('Rating')
5 remove_border()
TypeError: 'str' object is not callable
Я решил проблему remove_border. Это была глупая ошибка, которую я сделал. Но я не мог понять проблему с «Str».
Решение
Кажется, что remove border
не определено. Вы должны определить функцию перед использованием.
Я не знаю, где возникает ошибка строки, мне не ясно. Если вы опубликуете полный трассировщик, это будет яснее.
Наконец, ваш лейбл не показывается, потому что вы должны вызвать метод plt.legend()
Другие советы
Мне кажется, что remove_border()
не признается как функция. Видя, как вы не перечислили пакет, к которому он принадлежит, вы реализовали это самостоятельно? Python догадается, что remove_border
это строка, и вы пытаетесь «называть это» - относиться к ней как к функции. 2 -я ошибка - то же самое, функция remove_border
Не определяется, где Python может его найти.