Как исправить: объект «numpy.ndarray» не имеет атрибута «добавлять»


Одна ошибка, с которой вы можете столкнуться при использовании NumPy:

AttributeError: 'numpy.ndarray' object has no attribute 'append'

Эта ошибка возникает, когда вы пытаетесь добавить одно или несколько значений в конец массива NumPy с помощью функции append() в обычном Python.

Поскольку NumPy не имеет атрибута добавления, выдается ошибка. Чтобы исправить это, вы должны вместо этого использовать np.append() .

В следующем примере показано, как исправить эту ошибку на практике.

Как воспроизвести ошибку

Предположим, мы пытаемся добавить новое значение в конец массива NumPy, используя функцию append() из обычного Python:

import numpy as np

#define NumPy array
x = np.array([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])

#attempt to append 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
c

array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25, 26, 26, 29])

Обратитесь к онлайн-документации для подробного объяснения функций массива и конкатенации:

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:

Как исправить: нет модуля с именем pandas
Как исправить: нет модуля с именем numpy
Как исправить: столбцы перекрываются, но суффикс не указан