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