Как исправить: объект «numpy.ndarray» не имеет атрибута «append»
Ошибка, с которой вы можете столкнуться при использовании NumPy:
AttributeError: 'numpy.ndarray' object has no attribute 'append'
Эта ошибка возникает при попытке добавить одно или несколько значений в конец массива NumPy с помощью стандартной функции Python Append() .
Поскольку у NumPy нет атрибута добавления, выдается ошибка. Чтобы это исправить, вместо этого вам следует использовать np.append() .
В следующем примере показано, как исправить эту ошибку на практике.
Как воспроизвести ошибку
Предположим, мы пытаемся добавить новое значение в конец массива NumPy, используя стандартную функцию Python Append() :
import numpy as np #define NumPy array x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23]) #attempt to add the value '25' to end of NumPy array x. append (25) AttributeError: 'numpy.ndarray' object has no attribute 'append'
Мы получаем сообщение об ошибке, поскольку у NumPy нет атрибута добавления.
Как исправить ошибку
Чтобы исправить эту ошибку, нам просто нужно вместо этого использовать np.append() :
import numpy as np #define NumPy array x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23]) #append the value '25' to end of NumPy array x = np. append (x, 25) #view updated array x array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25])
Используя np.append(), мы успешно добавили значение «25» в конец массива.
Обратите внимание: если вы хотите добавить массив NumPy в конец другого массива NumPy, лучше всего использовать функцию np.concatenate() :
import numpy as np
#define two NumPy arrays
a = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])
b = np. array ([25, 26, 26, 29])
#concatenate two arrays together
c = np. concatenate ((a, b))
#view resulting array
vs
array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25, 26, 26, 29])
Обратитесь к онлайн-документации для подробного объяснения функций массива и конкатенации:
Дополнительные ресурсы
В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:
Как исправить: нет модуля с именем pandas.
Как исправить: нет модуля с именем numpy
Как исправить: столбцы перекрываются, но суффикс не указан