En el tutorial de análisis de datos de hoy, resolveremos un problema común que podría haber encontrado al intentar agregar nuevos elementos a una matriz Numpy.
Reproduciendo el error
Veamos juntos cómo podemos reproducir fácilmente el error:
# import the numpy library import numpy as np #create a short numpy array my_array = np.arange(10, 110, 10) #print the array print(my_array)
Esto devolverá el siguiente objeto ndarray:
[ 10 20 30 40 50 60 70 80 90 100]
A continuación, nos gustaría agregar un par de elementos nuevos de una lista a la matriz. Intentaremos usar el método append:
my_array.append([120, 130])
Esto fallará con la siguiente excepción de error de atributo, captura de pantalla tomada de mi cuaderno Jupyter (obtendrá el mismo error en PyCharm, VS COde, Spyder, Colab, etc.):
Solucione el error de atributo sin agregar en Numpy
Como vimos anteriormente, intentamos usar el método de adición de Python en una matriz numpy. Append se usa con listas de Python y no está disponible para matrices numpy.
Puede deshacerse del error de varias maneras:
my_array = np.append(my_array, [120, 130])
my_new_array = np.array([120,130]) my_array = np.append(my_array, my_new_array)
my_new_array = np.array([120,130]) my_array = np.concatenate((my_array, my_new_array))
Todo lo anterior generará el mismo resultado; en nuestro caso, la siguiente matriz numérica:
array([ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 120, 130])
Aprendizaje relacionado
¿Cómo codificar una lista de Python de la manera correcta?