É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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *