Як виправити: об’єкт 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
Як виправити: стовпці перекриваються, але суфікс не вказано

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *