Campionamento sistematico nei panda (con esempi)


I ricercatori spesso prelevano campioni da una popolazione e utilizzano i dati del campione per trarre conclusioni sulla popolazione nel suo insieme.

Un metodo di campionamento comunemente utilizzato è il campionamento sistematico , che viene implementato in un semplice processo in due fasi:

1. Posiziona ciascun membro di una popolazione in un determinato ordine.

2. Scegli un punto di partenza casuale e seleziona un membro su n per far parte del campione.

Questo tutorial spiega come eseguire un campionamento sistematico su un DataFrame panda in Python.

Esempio: campionamento sistematico tra i panda

Supponiamo che un insegnante voglia ottenere un campione di 100 studenti da una scuola che ha 500 studenti in totale. Sceglie di utilizzare un campionamento sistematico in cui colloca ogni studente in ordine alfabetico in base al cognome, sceglie casualmente un punto di partenza e seleziona uno studente su cinque da inserire nel campione.

Il codice seguente mostra come creare un frame di dati falso con cui lavorare in Python:

 import pandas as pd
import numpy as np
import string
import random

#make this example reproducible
n.p. random . seeds (0)

#create simple function to generate random last names
def randomNames(size=6, chars=string. ascii_uppercase ):
    return ''. join (random. choice (chars) for _ in range(size))

#createDataFrame
df = pd.DataFrame({'last_name': [randomNames() for _ in range(500)],
                   'GPA': np. random . normal (loc=85, scale=3, size=500)})

#view first six rows of DataFrame
df. head ()

last_name GPA
0 PXGPIV 86.667888
1 JKRRQI 87.677422
2 TRIZTC 83.733056
3 YHUGIN 85.314142
4 ZVUNVK 85.684160

E il codice seguente mostra come ottenere un campione di 100 studenti attraverso un campionamento sistematico:

 #obtain systematic sample by selecting every 5th row
sys_sample_df = df. iloc [::5]

#view first six rows of DataFrame
sys_sample_df. head ()

   last_name gpa
3 ORJFW 88.78065
8 RWPSB 81.96988
13 RACZU 79.21433
18 ZOHKA 80.47246
23 QJETK 87.09991
28 JTHWB 83.87300

#view dimensions of data frame
sys_sample_df. shape

(100, 2)

Si noti che il primo membro incluso nell’esempio era nella prima riga del frame di dati originale. Ogni membro successivo del campione si trova 5 righe dopo il membro precedente.

E utilizzando shape() possiamo vedere che il campione sistematico che abbiamo ottenuto è un frame di dati di 100 righe e 2 colonne.

Risorse addizionali

Tipi di metodi di campionamento
Campionamento a grappolo nei panda
Campionamento stratificato nei panda

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *