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