¿Cómo seleccionar aleatoriamente filas de una array en Python con NumPy?

 En este artículo, veremos dos métodos diferentes sobre cómo seleccionar aleatoriamente filas de una array en Python con NumPy. Veamos diferentes métodos por los cuales podemos seleccionar filas aleatorias de una array:

Método 1: Usaremos la función shuffle() . La función shuffle() mezcla aleatoriamente las filas de una array y luego mostraremos una fila aleatoria de la array 2D.

Python3

# import modules
import random
import numpy as np
  
# create 2D array
data = np.arange(50).reshape((5, 10))
  
# display original array
print("Array:")
print(data)
  
# row manipulation
np.random.shuffle(data)
  
# display random rows
print("\nRandom row:")
rows = data[:1, :]
print(rows)

Producción:

Método 2: primero cree una array, luego aplique el método sample() y muestre una sola fila.

Python3

# import modules
import random
import numpy as np
  
# create 2D array
data = np.arange(50).reshape((5, 10))
  
# display original array
print("Array:")
print(data)
  
# row manipulation
rows_id = random.sample(range(0, 
                              data.shape[1]-1), 1)
  
# display random rows
print("\nRandom row:")
row = data[rows_id, :]
print(row)

Producción:

Método 3: Usaremos la función choice() . El método choice() devuelve múltiples elementos aleatorios de la lista con reemplazo. 

Ahora, seleccione filas de la lista de enteros aleatorios que hemos creado.

Python3

# import modules
import random
import numpy as np
  
# create 2D array
data = np.arange(50).reshape((5, 10))
  
# display original array
print("Array:")
print(data)
  
# row manipulation
number_of_rows = data.shape[0]
random_indices = np.random.choice(number_of_rows, 
                                  size=1, 
                                  replace=False)
  
# display random rows
print("\nRandom row:")
row = data[random_indices, :]
print(row)

Producción:

Publicación traducida automáticamente

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