Échantillonnage en cluster chez Pandas : avec exemples
Les chercheurs prélèvent souvent des échantillons dans une population et utilisent les données de l’échantillon pour tirer des conclusions sur la population dans son ensemble.
Une méthode d’échantillonnage couramment utilisée est l’échantillonnage en grappes , dans laquelle une population est divisée en grappes et tous les membres de certaines grappes sont choisis pour être inclus dans l’échantillon.
Ce tutoriel explique comment effectuer un échantillonnage en cluster sur un DataFrame pandas en Python.
Exemple : échantillonnage en cluster dans Pandas
Supposons qu’une entreprise proposant des visites guidées de la ville souhaite interroger ses clients. Sur dix circuits qu’ils proposent par jour, ils sélectionnent au hasard quatre circuits et demandent à chaque client d’évaluer son expérience sur une échelle de 1 à 10.
Le code suivant montre comment créer un DataFrame pandas avec lequel travailler :
import pandas as pd import numpy as np #make this example reproducible np.random.seed(0) #create DataFrame 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
Et le code suivant montre comment obtenir un échantillon de clients en sélectionnant au hasard quatre visites et en incluant chaque membre de ces visites dans l’échantillon :
#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
D’après le résultat, nous pouvons voir que :
- 20 clients du groupe de touristes n°10 ont été inclus dans l’échantillon.
- 20 clients du groupe de touristes n°6 ont été inclus dans l’échantillon.
- 20 clients du groupe de touristes n°5 ont été inclus dans l’échantillon.
- 20 clients du groupe de touristes n°3 ont été inclus dans l’échantillon.
Ainsi, cet échantillon est composé de 80 clients au total provenant de 4 groupes de touristes différents.
Ressources additionnelles
Comprendre les différents types de méthodes d’échantillonnage
Échantillonnage stratifié chez les pandas
Échantillonnage systématique chez les pandas