Как исправить: объект «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
Как исправить: столбцы перекрываются, но суффикс не указан

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.