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