NumPy es una biblioteca para el lenguaje de programación Python, que agrega soporte para arreglos y arrays grandes y multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar en estos arreglos. Si le gustan los análisis, es posible que haya encontrado esta biblioteca en python. Al principio, algunas cosas pueden confundir a un programador al cambiar de las listas tradicionales de Python a las arrays NumPy. Uno de esos errores con los que nos podemos encontrar es “ AttributeError: el objeto ‘numpy.ndarray’ no tiene atributo ‘append’ ”. En este artículo, veamos por qué vemos este error y cómo solucionarlo.
Al agregar un elemento a una lista de python, utilizamos el método de adición de la lista. La sintaxis es bastante simple y cuando intentamos replicar lo mismo en una array NumPy, obtenemos el error mencionado anteriormente. Veámoslo con un ejemplo.
Ejemplo: código que representa el error
Python
# Append method on python lists import numpy print("-"*15, "Python List", "-"*15) # Create a python list pylist = [1, 2, 3, 4] # View the data type of the list object print("Data type of python list:", type(pylist)) # Add (append) an item to the python list pylist.append(5) # View the items in the list print("After appending item 5 to the pylist:", pylist) print("-"*15, "Numpy Array", "-"*15) # Append method on numpy arrays # Import the numpy library # Create a numpy array nplist = numpy.array([1, 2, 3, 4]) # View the data type of the numpy array print("Data type of numpy array:", type(nplist)) # Add (append) an item to the numpy array nplist.append(5)
Producción:
En el resultado anterior, podemos ver que la lista de python tiene un tipo de datos de lista . Cuando realizamos la operación de agregar, el elemento, es decir, 5, se agrega al final de la lista ` pylist `. Si bien probamos el mismo método para la array NumPy, falla y arroja un error » AttributeError: el objeto ‘numpy.ndarray’ no tiene el atributo ‘append’ «. El resultado es bastante explicativo, la array NumPy tiene un tipo de numpy.ndarray que no tiene ningún método append() .
Ahora, sabemos que el apéndice no es compatible con las arrays NumPy, entonces, ¿cómo lo usamos? En realidad, es un método de NumPy y no su array, entendámoslo a través del ejemplo que se muestra a continuación, donde realmente realizamos la operación de agregar en una lista numpy.
Sintaxis:
numpy.append(arr, valores, eje=Ninguno)
Parámetros:
- arr: array numpy: la array a la que se agregan los valores como una copia de la misma.
- valores: array numpy o valor: estos valores se agregan a una copia de arr. Debe tener la forma correcta (la misma forma que arr, excluyendo el eje). Si no se especifica el eje, los valores pueden tener cualquier forma y se aplanarán antes de su uso.
- eje: int, opcional: el eje a lo largo del cual se agregan los valores. Si no se proporciona el eje, tanto arr como los valores se aplanan antes de su uso.
Ejemplo: código fijo
Python
# Append method on numpy arrays # Import the numpy library import numpy # Create a numpy array nplist = numpy.array([1, 2, 3, 4]) # View the data type of the numpy array print("Data type of numpy array:", type(nplist)) # View the items in the numpy array print("Initial items in nplist:", nplist) # Add (append) an item to the numpy array nplist = numpy.append(nplist, 5) # View the items in the numpy array print("After appending item 5 to the nplist:", nplist)
Producción:
Como en el resultado, podemos ver que inicialmente, la array NumPy tenía 4 elementos (1, 2, 3, 4). Después de agregar 5 a la lista, se refleja en la array NumPy. Esto es así porque aquí la función de agregar se usa en NumPy y no en el objeto de array NumPy ( numpy.ndarray ).
Publicación traducida automáticamente
Artículo escrito por apathak092 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA