#python #list #numpy #typeerror #numpy-ndarray
#python #Список #numpy #ошибка типа #numpy-ndarray
Вопрос:
Я не могу использовать функцию NumPy.zeros, я впервые сталкиваюсь с этой проблемой, и я не знаю, что я делаю не так, я проверил другие вопросы по той же проблеме, но, похоже, эти люди случайно назначили функцию встроенной функции ‘list’, которая непохоже, это проблема, с которой я сталкиваюсь:
import numpy as np
X = np.array([[4,5,9,6], [9,1,5,7], [1,5,7,3], [6, 9, 5, 2], [9,8,2,5]])
N, D = X.shape
Теперь я пытаюсь создать нулевой вектор с таким количеством строк, как D:
np.zeros((D,))
и я получаю это сообщение об ошибке:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-24-ffee5417280b> in <module>
----> 1 np.zeros((D,1))
TypeError: 'list' object is not callable
Что именно не так с моим кодом?
Комментарии:
1. Вы должны сделать
np.array((D,1))
то, что отличается от вашего фрагмента кода, но соответствует вашему результату трассировки. Я попытался выполнить весь предоставленный вами код, никаких проблем не возникло. Можете ли вы предоставить фактический код, который вы пытаетесь запустить?2. Подтверждение не может быть воспроизведено с моей стороны.
3. Ищите что-то, что говорит
np.zeros = [...]
илиfn( . . ., out = np.zeros)
где-то в вашем коде, похоже, что функция где-то перезаписана.4. В принципе, выполните поиск в вашем коде, за
np.zeros
которым не следует a(
. Или, если вы находитесь в IDE,print(np.zeros)
и убедитесь, что это все еще функция5. Не удаляйте, это все еще распространенная проблема. Однако я закрою замечание, поскольку это скорее проблема с опечаткой (хотя и удручающе распространенная).
Ответ №1:
Я запускаю ваш код на python 3.7, это правильно.
import numpy as np
X = np.array([[4,5,9,6], [9,1,5,7], [1,5,7,3], [6, 9, 5, 2], [9,8,2,5]])
N, D = X.shape
print(np.zeros((D,)))
вывод:
[0. 0. 0. 0.]
проверьте пробелы в вашем коде.