NumPy append()
La función `append()` de NumPy se utiliza para añadir elementos al final de un arreglo existente, creando así un nuevo arreglo con los elementos adicionales. Esta operación resulta útil cuando necesitas ampliar el contenido de un arreglo de forma dinámica.
Uso
La función `append()` se utiliza normalmente cuando se desea añadir más datos a un arreglo sin alterar el arreglo original. Devuelve un nuevo arreglo con los valores añadidos.
numpy.append(arr, values, axis=None)
arr: El arreglo de entrada al que se añaden los elementos.values: Los valores que se añadirán aarr. Ten en cuenta que sivaluestienen un tipo de datos diferente al dearr, el arreglo resultante tendrá un tipo de datos determinado por las reglas de promoción de tipos de NumPy.axis: El eje a lo largo del cualvaluesse añaden. SiNone,valuesse aplanan antes de su uso. Cuandoaxisse especifica ,valuesdebe tener la misma forma que ,arrexcepto por la dimensión correspondiente al eje especificado.
Ejemplos
1. Añadir elementos a un arreglo 1D
import numpy as np
arr = np.array([1, 2, 3])
new_arr = np.append(arr, [4, 5])
En este ejemplo, los elementos[4, 5] se añaden al arreglo arr, lo que da comonew_arrresultado [1, 2, 3, 4, 5].
2. Añadir elementos a un arreglo 2D sin ejes
import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.append(arr, [5, 6])
Aquí,append() aplanaarr y luego añade [5, 6], lo que da comonew_arrresultado [1, 2, 3, 4, 5, 6].
3. Añadir elementos a un arreglo 2D a lo largo de un eje
import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.append(arr, [[5, 6]], axis=0)
Aquí,[[5, 6]] se añade como una nueva fila aarr a lo largo del eje 0, creandonew_arr como [[1, 2], [3, 4], [5, 6]].
Consejos y mejores prácticas
- Evita las adiciones frecuentes. Llamar repetidamente
append()en un bucle puede resultar ineficaz; considera la posibilidad de utilizar listas para la acumulación y convertirlas en arreglos una vez recopilados todos los datos. - Utiliza el eje con cuidado. Cuando utilices el
axisparámetro, asegúrate de que las dimensiones devaluescoincidan con las dearra lo largo del eje especificado. Por ejemplo, si se añade a lo largo del eje0,valuesdebería tener el mismo número de columnas quearr. - Recuerda la inmutabilidad.
append()no modifica el arreglo original, sino que crea uno nuevo, así que asegúrate de almacenar el resultado si es necesario. - Ten en cuenta el rendimiento. Añadir elementos a arreglos grandes puede consumir muchos recursos; considera métodos alternativos para mejorar la eficiencia.