Campionamento a grappolo presso pandas: 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 a grappolo , in cui una popolazione viene divisa in cluster e tutti i membri di determinati cluster vengono scelti per essere inclusi nel campione.
Questo tutorial spiega come eseguire il campionamento del cluster su un DataFrame panda in Python.
Esempio: campionamento di cluster in Panda
Supponiamo che un’azienda che offre tour della città voglia intervistare i propri clienti. Su dieci tour offerti al giorno, selezionano casualmente quattro tour e chiedono a ciascun cliente di valutare la propria esperienza su una scala da 1 a 10.
Il codice seguente mostra come creare un DataFrame panda con cui lavorare:
import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (0) #createDataFrame df = pd.DataFrame({'tour': np. repeat (np. arange (1,11), 20), 'experience': np. random . normal (loc=7, scale=1, size=200)}) #view first six rows of DataFrame df. head () tour experience 1 1 6.373546 2 1 7.183643 3 1 6.164371 4 1 8.595281 5 1 7.329508 6 1 6.179532
E il codice seguente mostra come ottenere un campione di clienti selezionando in modo casuale quattro visite e includendo ciascun membro di tali visite nel campione:
#randomly choose 4 tour groups out of the 10 clusters = np. random . choice (np. arange (1,11), size=4, replace= False ) #define sample as all members who belong to one of the 4 tour groups cluster_sample = df[df[' tour ']. isin (clusters)] #view first six rows of sample cluster_sample. head () tour experience 40 3 5.951447 41 3 5.579982 42 3 5.293730 43 3 8.950775 44 3 6.490348 #find how many observations came from each tour group cluster_sample[' tour ']. value_counts () 10 20 6 20 5 20 3 20 Name: tour, dtype: int64
Dal risultato possiamo vedere che:
- Nel campione sono stati inclusi 20 clienti del gruppo turistico n. 10.
- Nel campione sono stati inclusi 20 clienti del gruppo turistico n. 6.
- Nel campione sono stati inclusi 20 clienti del gruppo turistico n. 5.
- Nel campione sono stati inclusi 20 clienti del gruppo turistico n. 3.
Pertanto, questo campione è composto da 80 clienti in totale provenienti da 4 diversi gruppi turistici.
Risorse addizionali
Comprendere i diversi tipi di metodi di campionamento
Campionamento stratificato nei panda
Campionamento sistematico dei panda