¿Cómo eliminar las últimas N filas de la array Numpy?

En este artículo, discutiremos cómo eliminar las últimas N filas de la array NumPy.

Método 1: usar el operador de división

La división es una operación de indexación que se usa para iterar sobre una array.

 Sintaxis: nombre_array[inicio:fin]

donde start es el inicio es el índice y stop es el último índice.

También podemos hacer cortes negativos en Python. Se denota por la siguiente sintaxis.

Sintaxis: nombre_array[: -n]

donde, n es el número de filas desde la última que se eliminó.

Ejemplo 1:

Vamos a crear una array con 6 filas y 3 columnas y eliminaremos las últimas N filas usando el corte.

Python3

# importing numpy module
import numpy as np
  
# create an array with 6 rows and 3 columns
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], 
              [10, 11, 12], [13, 14, 15], [16, 17, 18]])
  
print(a)
  
# delete last 1 st row
print("data after deleting last one row ", a[:-1])
  
# delete last 2 nd  row
print("data after deleting last two  rows ", a[:-2])
  
# delete last 3 rd  row
print("data after deleting last theww  rows ", a[:-3])
  
# delete last 4 th  row
print("data after deleting last four  rows ", a[:-4])
  
# delete last 5 th  row
print("data after deleting last five  rows ", a[:-5])
  
# delete last 6 th  row
print("data after deleting last six  rows ", a[:-6])

Producción:

Ejemplo 2: 

Usamos for loop para iterar sobre los elementos y usamos el operador de corte, vamos a eliminar los datos y luego imprimir los datos.

Python3

# importing numpy module
import numpy as np
  
# create an array with 5 rows and 
# 4 columns
a = np.array([[21, 7, 8, 9], [34, 10, 11, 12], 
              [1, 3, 14, 15], [1, 6, 17, 18], 
              [4, 5, 6, 7]])
  
# use for loop to iterate over the
# elements
for i in range(1, len(a)+1):
    print("Iteration No", i, "deleted", i, "Rows")
    print("Remaining data present in the array is\n ", a[:-i])

Producción:

Ejemplo 3:

También podemos especificar los elementos que necesitamos y almacenarlos en otra variable de array usando el operador de división. De esta manera, no obtendremos las últimas N filas (eliminarlas).

Python3

# importing numpy module
import numpy as np
  
# create an array with 5 rows and 
# 4 columns
a = np.array([[21, 7, 8, 9], [34, 10, 11, 12], 
              [1, 3, 14, 15], [1, 6, 17, 18],
              [4, 5, 6, 7]])
  
# place first 2 rows in b variable 
# using slice operator
b = a[:2]
  
print(b)

Producción:

[[21  7  8  9]
 [34 10 11 12]]

Método 2: Usar el método numpy.delete()

Se utiliza para eliminar los elementos de una array NumPy en función del número de fila.

Sintaxis: numpy.delete(array_name,[rownumber1,rownumber2,.,rownumber n],axis)

Parámetros:

  • array_name es el nombre de la array.
  • los números de fila son los valores de fila
  • eje especifica fila o columna
    • axis=0 especifica fila
    • axis=1 especifica la columna

Aquí vamos a eliminar las últimas filas, así que especifique los números de fila en la lista.

Ejemplo 1: eliminar las últimas tres filas

Python3

# importing numpy module
import numpy as np
  
# create an array with 5 rows and 
# 4 columns
a = np.array([[21, 7, 8, 9], [34, 10, 11, 12], 
              [1, 3, 14, 15], [1, 6, 17, 18], 
              [4, 5, 6, 7]])
  
# delete last three rows
# using numpy.delete
a = np.delete(a, [2, 3, 4], 0)
print(a)

Producción:

[[21  7  8  9]
 [34 10 11 12]]

Ejemplo 2: eliminar todas las filas

Python3

# importing numpy module
import numpy as np
  
# create an array with 5 rows and 4 columns
a = np.array([[21, 7, 8, 9], [34, 10, 11, 12], 
              [1, 3, 14, 15], [1, 6, 17, 18], 
              [4, 5, 6, 7]])
  
# delete last three rows
# using numpy.delete
a = np.delete(a, [0, 1, 2, 3, 4], 0)
print(a)

Producción:

[ ]

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan 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 *