Solucione el error de atributo: el objeto 'numpy.ndarray' no tiene atributo 'Anexar' en Python
-
el
AttributeError: el objeto 'numpy.ndarray' no tiene atributo 'append'en Python -
Solucione el
AttributeError: el objeto 'numpy.ndarray' no tiene el atributo 'append'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.
Artículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python
