Cómo seleccionar filas aleatoriamente de Pandas DataFrame

| | | | | | | | | | | | | | | | | | | | |

Cree un marco de datos simple con un diccionario de listas.


# Importar paquete pandas

importar pandas como pd

< br> # Definir un diccionario que contenga datos de empleados

data = { `Nombre` : [ ` Jai` , `Princi` , `Gaurav` , ` Anuj` , `Geeku` ],

`Edad` : [ 27 , 24 , 22 , 32 , 15 ],

`Dirección` : [ `Delhi` , ` Kanpur` , `Allahabad` , ` Kannauj` , `Noida` < /código> ],

`Calificación` : [ ` Msc` , `MA` , `MCA` , ` Phd` , `10th` ]}


# Convertir diccionario a DataFrame

df = pd.DataFrame (datos)


# seleccionar todas las columnas
df

Método # 1: Usando el método

# Selecciona una línea aleatoria usando sample ()
# sin especificar ningún parámetro.


# Importar paquete pandas

importar pandas as pd


# Definir un diccionario que contenga datos de empleados

datos = { `Nombre ` : [ `Jai` , `Princi` , ` Gaurav` , < /código> `Anuj` , ` Geeku` ],

`Edad` : [ 27 , 24 , 22 , 32 , 15 ],

`Dirección ` : [ ` Delhi` , ` Kanpur` , `Allahabad` , < /código> `Kannauj` , ` Noida` ],

`Cualificación` : [ ` Msc` , `MA` , < /código> ` MCA` , `Phd` , ` 10th` ]}


# Convertir diccionario a DataFrame

df = pd.DataFrame (datos)


# Elija una línea aleatoria usando muestra ( ) < br> # sin especificar ningún parámetro
df.sample()

Salida:

Ejemplo 2. Usar la opción n, que selecciona aleatoriamente n números de línea.

Seleccione n línea números al azar usando sample (n) o sample (n = n) . Cada vez que ejecuta esto, obtiene n líneas diferentes.


# Para obtener 3 líneas aleatorias
# esto da 3 filas diferentes cada vez


# df .muestra (3) o

df.muestra (n < /código> = 3 )

Salida:

Ejemplo 3: Usando el parámetro frac .

Puedes hacer parte de los elementos del eje y obtener líneas. Por ejemplo, si frac = .5 entonces el método de búsqueda devuelve el 50 % de las filas.


# Línea fracción


# aquí obtienes .50% líneas

df.sample (frac = 0.5 )

Salida:


Ejemplo 4:
Primero, se obtiene el 70 % de las filas de todo el marco de datos df y colocado en otro marco de datos df1, después de lo cual seleccionamos 50% frac de df1.


# fracción de línea

< br> # aquí obtienes el 70% de la línea de df
# haz poner en un otro marco de datos df1

df1 = df .sample (frac = . 7 )


# Ahora seleccione el 50% de las filas de df1

df1.sample (frac = < clase de código = "simple">. 50 )

Salida:

Ejemplo 5: seleccione varias líneas al azar con replace = false

parámetro replace d Da permiso para seleccionar una fila muchas veces (por ejemplo). El valor predeterminado para el parámetro de reemplazo del método sample () — Falso, por lo que nunca selecciona más que el número total de filas.


< td class ="code">

# Dataframe df solo tiene 4 líneas


# si intente seleccionar más de 4 líneas, saldrá un error
# No se puede tomar una muestra más grande que la población cuando & # 39; reemplazar = Falso & # 39;

df1.muestra (n = 3 , reemplazar = Falso )

Salida:

Ejemplo 6 Seleccionar más de n líneas, donde n — número total de líneas usando replace .


< td class ="code">

# Seleccionar más de líneas con reemplazo
# el valor predeterminado es False

df1.muestra (n = 6 , reemplace = True )

Salida:

Ejemplo 7. Uso de pesos


# Los pesos se reconfigurarán automáticamente

test_weights = [ 0.2 , 0.2 , 0.2 , 0.4 ]


df1.muestra (n = < /código> 3 , pesos = test_weights)

Salida:

Ejemplo 8: Usando un eje


Un eje toma un número o un nombre. El método sample() también permite a los usuarios seleccionar columnas en lugar de filas usando el argumento del eje.


# Acepta un número de eje o nombre.


# ejemplo también permite a los usuarios seleccionar columnas
# en lugar de cadenas usando el argumento del eje.

df1.sample (eje = 0 )

Salida:

Ejemplo 9: Usando random_state

Con un DataFrame dado, la muestra siempre obtendrá las mismas filas. Si random_state es None o np.random, entonces se devuelve un objeto RandomState inicializado aleatoriamente.


# Con esto semilla la muestra siempre dibujará las mismas líneas.


# Si random_state es Ninguno o np. random,
# luego se inicializa aleatoriamente
# Se devuelve el objeto RandomState.

df1.sample (n = 2 , estado_aleatorio = 2 )

Salida:

–° tutorial #2: Usando NumPy

Numpy ha elegido cuánto indexar para incluir para la selección aleatoria, y podemos permitir el reemplazo.

# Pandas Import and Numpy Package

importar numpy as np

importar < /código> pandas como pd


# Defina un diccionario que contenga datos de empleados

data = { `Nombre` : [ `Jai` , ` Princi` , `Gaurav` , ` Anu j` , `Geeku` ], < / p>

`Edad` : [ 27 , 24 , 22 , 32 , 15 ],

`Dirección` : [ ` Delhi` , `Kanpur` , ` Allahabad` , `Kannauj` , ` Noida` ],

`Calificación` : [ ` Msc` , `MA` , ` MCA` , `Phd` , ` 10th` ]}


# Convertir diccionario en DataFrame

df = pd.DataFrame (datos)


# Elija cuánto índice incluir para la selección aleatoria

id_elegido = np.random.choice ( 4 < clase de código = "simple">, reemplazar = Verdadero , tamaño < /código> = 6 )


df2 = df.iloc [elegido_idx]


df2

Salida:
< img src = "http://espressocode.top/images/vallthropaderoxbea895981.jpg" />