Tutorial de Numpy - Apéndice del array de NumPy

Jinku Hu 18 julio 2021
Tutorial de Numpy - Apéndice del array de NumPy

Numpy también tiene una función append para añadir datos a el array, al igual que la operación append para list en Python. Pero en algunos casos, append en NumPy es también un poco similar al método extend en la list de Python.

Array append

Primero listemos la sintaxis de ndarray.append.

numpy.append(arr, values, axis = None)

Parámetros de entrada

nombre de parámetro tipo de datos Descripción
arr array_like un array para añadir un elemento
values array_like Matriz añadida
None INT El eje a lo largo del cual se añaden los values

Hagamos algunos ejemplos,

In[1]: import numpy as np
arrayA = np.arange(12).reshape(3, 4)
arrayB = np.ones((1, 4))
np.append(arrayA, arrayB)

Out[1]: array([0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,  1.,
               1.,  1.,  1.])

Cuando no se da el axis, tanto el arr como los values se aplanan antes de la operación. El resultado será un array 1-D. En el ejemplo anterior, no necesitamos preocuparnos por la forma de dos matrices dadas.

In[2]: np.append(arrayA, arrayB, axis=0)
Out[2]: array([[0.,  1.,  2.,  3.],
               [4.,  5.,  6.,  7.],
               [8.,  9., 10., 11.],
               [1.,  1.,  1.,  1.]])
In[2]: np.append(arrayA, np.ones((1, 3)), axis=0)
---------------------------------------------------------------------------
ValueError                                Traceback(most recent call last)
<ipython-input-25-fe0fb14f5df8 > in < module > ()
--- -> 1 np.append(arrayA, np.ones((1, 3)), axis=0)

D: \ProgramData\Anaconda3\lib\site-packages\numpy\lib\function_base.py in append(arr, values, axis)
5164         values = ravel(values)
5165         axis = arr.ndim-1
-> 5166 return concatenate((arr, values), axis=axis)

ValueError: all the input array dimensions except for the concatenation axis must match exactly

Cuando el axis es igual a 0, los valores del array serán añadidos a la arr en la dirección de la columna. Aumentará el ValueError si dos matrices dadas no tienen la misma longitud en la fila - ValueError: all the input array dimensions except for the concatenation axis must match exactly.

Puedes intentar por ti mismo añadir los datos en la dirección de la fila con el parámetro axis=1.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook