Python

Numpy básico: eliminar elementos en arrays de Numpy

Para eliminar eliminar elementos en arrays de Numpy se puede utilizar la función de la librería np.delete(). Esta función permite eliminar tanto valores como filas o columnas utilizando la posición del elemento a eliminar. Lo que la convierte en una función realmente interesante.

np.delete() de Numpy

La función np.delete() es realmente sencilla ya que solamente necesita dos parámetros para hacer su trabajo. La forma genérica de utilizarla es:

np.delete(arr, obj, axis=None)

donde

  • arr: es el array de Numpy con el que se desea trabajar.
  • obj: es la posición de índice o una lista de posiciones que se desean eliminar del array de Numpy.
  • axis: valor opcional que indica eje a lo largo del cual se desean eliminar los registros. En caso de que sea 1, eliminará por columnas, si es 0, eliminará por filas y, si no valor, eliminará los valores ordenados de la matriz.

El método devuelve una copia del array de Numpy eliminando los registros que se encuentran en la posición o posiciones indicadas.

Eliminar los elementos de un vector

El ejemplo más básico de uso de np.delete() es eliminar un registro de un vector. Para ello simplemente se pasa el vector a la función seguido de la posición del elemento a eliminar. Proceso que se muestra en el siguiente ejemplo.

import numpy as np

arr = np.array([1,2,3,4,5])

np.delete(arr, 1)
array([1, 3, 4, 5])

En donde se ha elimina el segundo registro, ya que en Python los registros empiezan a contar en cero. Si se desea eliminar más de un registro simplemente se pasa una tupla con las posiciones a eliminar

np.delete(arr, (1, 3))
array([1, 3, 5])

En este segundo caso se puede ver como se han eliminado el segundo y cuarto registro del vector.

Eliminar las filas o columnas de una matriz

A la hora de trabajar con matrices la forma de trabajar es idéntica a la utilizada en los vectores. Antes de probar la función, en primer lugar es necesario crear una nueva matriz con la que trabajar.

mat = np.array([[11,12,13], [21,22,23], [31,32,33]])
mat
array([[11, 12, 13],
       [21, 22, 23],
       [31, 32, 33]])

En este ejemplo la matriz es de 3×3 siendo la primera fila decenas, la segunda veintenas y la tercera treintenas. Lo que permite identificar fácilmente los valores. Ahora se pude eliminar una fila o columna. Si lo que se desea es eliminar una fila es necesario indicar a np.delete() que trabaje sobre el eje 0. Por otro lado, si lo que se desea es eliminar una columna se tiene que utilizar el eje. Esto es lo que se muestra en los siguientes ejemplos.

np.delete(mat, 1, axis=0)
array([[11, 12, 13],
       [31, 32, 33]])
np.delete(mat, 1, axis=1)
array([[11, 13],
       [21, 23],
       [31, 33]])

Al igual que en el caso anterior se puede eliminar más de una columna o fila en la misma instrucción.

np.delete(mat, (0,2), axis=1)
array([[12],
       [22],
       [32]])

Un ejemplo en donde se ha eliminado la primera y tercera columna de la matriz.

Eliminar los valores de una matriz

Si no se indica el eje de la matriz, la función np.delete() convertirá la matriz en un vector y eliminará el registro o registros de esta. Es necesario recordar esto, ya que lo más habitual es eliminar filas o columnas, y siempre es necesario indicar la dimensión.

np.delete(mat, 5)
rray([11, 12, 13, 21, 22, 31, 32, 33])

Conclusiones

En esta entrada se ha visto una función con la que eliminar elementos en arrays de Numpy, pudiéndose utilizar tanto sobre vectores como matrices. La función np.delete() facilita el trabajo y permite simplificar muchas tareas.

Imágenes: Pixabay (Marit Welker)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: NumPy

Recent Posts

Curiosidad: La Paradoja de Simpson, o por qué no siempre debes fiarte de los promedios

En ciencia de datos y estadística, los promedios y porcentajes son herramientas fundamentales para resumir…

20 horas ago

Copias de seguridad automáticas en SQL Server con rotación de archivos

Las bases de datos son el corazón de casi cualquier sistema de información moderno. Ya…

3 días ago

Curiosidad: La Ley de Twyman y la trampa de los datos “interesantes”

En ciencia de datos, pocas cosas llaman más la atención de los científicos de datos…

1 semana ago

Cómo calcular el tamaño de la muestra para encuestas

Calcular adecuadamente el tamaño de la muestra es una parte esencial en el diseño de…

1 semana ago

Curiosidad: El origen del análisis exploratorio de datos y el papel de John Tukey

Hoy en día, cuando pensamos en ciencia de datos, lo primero que nos viene a…

2 semanas ago

Cómo extender el tamaño de un disco en Rocky Linux 9 usando growpart y LVM

Ampliar el espacio de almacenamiento en un sistema Linux es una tarea habitual y crítica…

2 semanas ago

This website uses cookies.