Python empujar a la matriz

Funciones y métodos de Python

En Python normal, puede usar el método append () para agregar un elemento al final de una lista. No puede utilizar este método en NumPy. Si intenta utilizar el método Python append () para agregar un elemento al final de una matriz NumPy, verá el AttributeError: & lsquo; numpy.ndarray & rsquo; objeto no tiene atributo & lsquo; agregar & rsquo; error.

Esta guía analiza en detalle la causa y la solución a este error de NumPy. Nos referiremos a un ejemplo para ilustrar cómo solucionar este error. Empecemos.




AttributeError: & lsquo; numpy.ndarray & rsquo; el objeto no tiene atributo & lsquo; agregar & rsquo;

El AttributeError: & lsquo; numpy.ndarray & rsquo; el objeto no tiene atributo & lsquo; append & rsquo; El error se debe al uso del método append () para agregar un elemento a una matriz NumPy. En su lugar, debe usar el método numpy.append () si desea agregar un elemento a una lista.

El numpy.append () fue escrito específicamente para la biblioteca NumPy. Las matrices NumPy son diferentes a las matrices Python normales, por lo que es razonable que NumPy tenga su propio método para agregar un elemento a una matriz.

El método NumPy append () usa esta sintaxis:

 numpy.append (list_to_add_item, item_to_add) 

Los dos parámetros en los que nos centraremos son:

  • list_to_add_item: la lista a la que desea agregar un elemento.
  • item_to_add: el elemento que desea agregar a la lista que especifique.

El método numpy.append () devuelve una nueva matriz que contiene su elemento especificado al final, basado en el & ldquo; list_to_add_item & rdquo; formación. Tenga en cuenta que no coloca append () después de la lista a la que desea agregar un elemento, como lo haría en Python normal.


< / a>

Veamos un ejemplo de este error.

El 81% de los participantes afirmaron que se sentían más seguros de sus perspectivas laborales después de asistir a un bootcamp. un campamento de entrenamiento hoy.

El graduado promedio de un campamento de entrenamiento pasó menos de seis meses en la transición profesional, desde comenzar un campamento de entrenamiento hasta encontrar su primer trabajo.

Estamos creando una aplicación que rastrea el desempeño calificaciones que ha recibido un producto después de la garantía de calidad en una fábrica. Los productos se califican en una escala de 50 y todos los productos deben alcanzar una calificación de al menos 40 para salir al mundo.

Nosotros están construyendo la parte de la aplicación que agrega nuevos puntajes a una matriz que almacena los puntajes que un producto ha recibido durante el último día. Para construir este programa, podemos usar el método append () :

 importar numpy as np scores = np.array ([49, 48, 49, 47, 42, 48, 46, 50]) to_add = 49 puntajes.append (to_add) imprimir (puntajes) 

Nuestro programa agrega el puntaje 39 a nuestra lista de puntajes. En una situación del mundo real, podemos leer estos puntajes de un archivo, pero para mantener nuestro ejemplo simple, hemos declarado una matriz en nuestro programa. Nuestro código imprime una lista de todas las puntuaciones en la consola de Python después de agregar la nueva puntuación a nuestro conjunto de puntuaciones.

Ejecutemos nuestro código y veamos qué sucede:

 Traceback (última llamada más reciente): Archivo "test.py", línea 6, en & lt; módulo & gt; score.append (to_add) AttributeError: el objeto 'numpy.ndarray' no tiene atributo' append' 

Nuestro código devuelve un error.




La solución

Estamos tratando de usar el método normal de Python append () para agregar un elemento a nuestra matriz NumPy, en lugar del método numpy.append () de compilación personalizada .

Para resolver este error, necesitamos usar la sintaxis del método numpy.append () :

Usamos el término np para referirse a la biblioteca NumPy. Esto funciona porque definimos la biblioteca numpy como np en nuestra declaración de importación. Pasamos la lista a la que queremos agregar un elemento como nuestro primer argumento; la nueva puntuación para agregar a nuestra matriz es nuestro segundo argumento.


Tenemos que asignar el resultado de nuestra operación np.append () a un nuevo valor. Esto se debe a que np.append () no no modificar una matriz existente. En su lugar, el método crea una nueva matriz con su nuevo valor agregado.

Ejecutemos nuestro programa y veamos qué sucede:

 [49 48 49 47 42 48 46 50 49] 

El número 49 ha sido agregado exitosamente al final de nuestra lista.




Conclusión

El error AttributeError: & lsquo; numpy.ndarray & rsquo; no tiene atributo & lsquo; append & rsquo; indica que estás usando el el método normal de Python append () para agregar un elemento a una matriz NumPy. En su lugar, debe usar el método numpy.append () , que usa la sintaxis: numpy.append (lista, item_to_add). Este método crea una nueva lista con el elemento especificado agregado al final.

¿Quieres aprender más sobre la codificación en NumPy? Consulte nuestra guía Cómo aprender NumPy . Esta guía contiene los mejores consejos sobre cómo desarrollar su conocimiento de NumPy, junto con una lista de recursos de aprendizaje adecuados para desarrolladores principiantes e intermedios.





Python empujar a la matriz: StackOverflow Questions