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

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

1 día ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

2 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

6 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

1 semana ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

2 semanas ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

This website uses cookies.