¿Cómo eliminar varias filas de la array NumPy?

NumPy es la biblioteca de Python que se utiliza para trabajar con arrays. En Python hay listas que cumplen el propósito de arrays, pero son lentas. Por lo tanto, NumPy está ahí para brindarnos el objeto de array que es mucho más rápido que las listas tradicionales de Python. La razón por la que son más rápidos es que almacenan arreglos en un lugar continuo en la memoria, a diferencia de las listas que hacen que el proceso de acceso y manipulación sea mucho más eficiente.

Hay varias formas de eliminar varias filas en la array NumPy. Se dan a continuación: –

  • numpy.delete() : numpy.delete() es una función en Python que devuelve una nueva array con la eliminación de sub-arrays junto con el eje mencionado. Al mantener el valor del eje en cero, hay dos formas posibles de eliminar varias filas usando numphy.delete().
     

Usando arrays de enteros, Sintaxis: np.delete(x, [ 0, 2, 3], eje=0)

Python3

import numpy as geek
  
# Defining the array
x = geek.arange(35).reshape(7, 5) 
  
print(geek.delete(x, [0, 1, 2], axis=0))

Producción:

[[15 16 17 18 19]                                                                                                
[20 21 22 23 24]                                                                                                
[25 26 27 28 29]          
[30 31 32 33 34]]

Uso de objetos de división: la función slice() nos permite especificar cómo dividir una secuencia. 

Sintaxis de la función de corte: corte (inicio, parada, índice de pasos)

Python3

import numpy as geek
  
# Defining the array
x = geek.arange(35).reshape(7, 5)
  
print(geek.delete(x, slice(0, 3), axis=0))

Producción: 

[[15 16 17 18 19]
 [20 21 22 23 24]
 [25 26 27 28 29]
 [30 31 32 33 34]]                                                                                              
  • Indexación básica : esta es una de las formas más fáciles de eliminar varias filas de la array NumPy.
    Sintaxis para la indexación básica: objeto de array (inicio: parada: paso)
     

Python3

import numpy as geek
  
# Defining the array
x = geek.arange(35).reshape(7, 5)
  
# Removing all rows before the 4th row
result = x[4:]
print(result)

Producción:

[[20 21 22 23 24]                                                                                                
[25 26 27 28 29]                                                                                                
[30 31 32 33 34]]   
  • Fancy Indexing : este es el método en el que indexamos las arrays utilizando arrays que nos permiten acceder a múltiples elementos de la array a la vez al referirnos a su número de índice.
    Sintaxis: objeto de array [números de fila] 

Python3

import numpy as geek
  
# Defining the array
x = geek.arange(35).reshape(7, 5)  
  
# Fancy indexing
print(x[[0, 1, 2]])  

Producción:

[[ 0  1  2  3  4]                                                                                                
[ 5  6  7  8  9]                                                                                               
[10 11 12 13 14]]
  • numpy.take() : numpy.take() es una función en python que se utiliza para devolver elementos de arrays a lo largo de los ejes e índices mencionados. Ahora, si uno menciona el valor del eje como nulo/cero, entonces puede proporcionarnos los índices deseados y trabajar de una manera similar a Fancy Indexing.

Python3

import numpy as geek
  
# Defining the array
x = geek.arange(35).reshape(7, 5)  
  
# applying numpy.take() function
print(geek.take(x, [0, 2, 6], axis=0)) 

Producción:

[[ 0  1  2  3  4]                                                                                                
[10 11 12 13 14]                                                                                                
[30 31 32 33 34]] 
  • Indexación booleana : este es un método muy conveniente, especialmente cuando ponemos alguna condición para la eliminación.
    Por ejemplo, queremos eliminar las filas que comienzan con un valor mayor que 10. Entonces podemos hacerlo usando la indexación booleana. 

Python3

import numpy as geek
  
# Defining the array
x = geek.arange(35).reshape(7, 5)
  
# Performing Boolean Indexing
mask_array = x[:, 0] < 10
print(x[mask_array])

Producción:

[[0 1 2 3 4]
 [5 6 7 8 9]]

Publicación traducida automáticamente

Artículo escrito por vishalraina y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *