Solucione el error de atributo: el objeto 'numpy.ndarray' no tiene atributo 'Anexar' en Python

Shihab Sikder 21 junio 2023
  1. el AttributeError: el objeto 'numpy.ndarray' no tiene atributo 'append' en Python
  2. Solucione el AttributeError: el objeto 'numpy.ndarray' no tiene el atributo 'append' en Python
Solucione el error de atributo: el objeto 'numpy.ndarray' no tiene atributo 'Anexar' en Python

Al igual que las listas o los arreglos, NumPy no tiene el método append() para el arreglo; en su lugar, necesitamos usar el método append() de NumPy. Podemos agregar múltiples matrices NumPy usando el método append().

el AttributeError: el objeto 'numpy.ndarray' no tiene atributo 'append' en Python

ndarray es una matriz NumPy n-dimensional, que es útil para varios propósitos, como cuando tenemos múltiples tipos de datos para un modelo. Aquí hay un ejemplo simple usando esto:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(f"Type: {type(arr)}")
print(f"Dimension: {arr.ndim}")
print(f"Shape: {arr.shape}")
print(f"Element data type: {arr.dtype}")

Producción :

Type: <class 'numpy.ndarray'>
Dimension: 2
Shape: (2, 3)
Element data type: int32

Ahora, intentemos agregar una matriz en el objeto ndarray de arriba. Obtendremos el siguiente error:

>>> arr.append([1,2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'append'

Entonces, está claro que el objeto de tipo ndarray no contiene ningún método llamado append().

Solucione el AttributeError: el objeto 'numpy.ndarray' no tiene el atributo 'append' en Python

Para agregar una nueva matriz en el objeto ndarray, debemos asegurarnos de que la nueva matriz tenga la misma dimensión que la anterior dentro del ndarray.

Así es como agregaremos el ndarray:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8, 9]], axis=0)
print(arr)

Producción :

[[1 2 3]
 [4 5 6]
 [7 8 9]]

Aquí, si te fijas, ponemos el eje como 0. Ahora, si no mencionamos el eje, entonces sucederá esto:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8, 9]])
print(arr)

Producción :

[1 2 3 4 5 6 7 8 9]

¡Simplemente desenvolvió todos los elementos y luego los convirtió en una matriz!

Ahora, observemos qué sucede si damos una matriz que no tiene la misma dimensión:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8]], axis=0)

Producción :

ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 3 and the array at index 1 has a size 2

Aquí tenemos el ValueError por la falta de coincidencia de la dimensión. Para saber más sobre el ndarray de NumPy, visita este blog.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Artículo relacionado - Python Error