Selección aleatoria

Al igual que ocurre con las series, también los dataframes tienen un método que permite extraer elementos del mismo de forma aleatoria: pandas.DataFrame.sample. Este método permite especificar el número de elementos a extraer (o el porcentaje respecto del total, parámetros n y frac, respectivamente), si la extracción se realiza con reemplazo o no (parámetro replace), los pesos a aplicar a los elementos para realizar una extracción aleatoria ponderada (parámetro weights) y una semilla para el generador de números aleatorios que asegure la reproducibilidad de la extracción (parámetro random_state). También es posible indicar el eje a lo largo del cual se desea realizar la extracción (por defecto se extraen filas, correspondiente al eje 0).

Veamos un ejemplo. Si partimos del siguiente dataframe:

Selección aleatoria de elementos de dataframes

...podemos extraer 3 filas de forma aleatoria, sin reemplazo (opción por defecto) y fijando como semilla del generador de números aleatorios el número 18, de la siguiente forma:

Selección aleatoria de elementos de dataframes

Si especificamos como eje el valor 1, estaremos extrayendo columnas:

Selección aleatoria de elementos de dataframes

Si hacemos uso del parámetro frac, podemos especificar el porcentaje de elementos a extraer:

Ventas.sample(frac = 0.6, random_state = 18)

Parámetro frac