Кто -нибудь может объяснить следующую ошибку в моем коде Python?

datascience.stackexchange https://datascience.stackexchange.com/questions/5561

  •  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 может его найти.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top