Échantillonnage en Python
James Chapman
Curriculum Manager, DataCamp

Un recensement demande à chaque ménage combien de personnes y vivent.

Les recensements coûtent très cher !

Moins cher d'interroger un petit nombre de ménages et d'utiliser des statistiques pour estimer la population
Travailler avec un sous-ensemble de la population s'appelle l'« échantillonnage »
La « population » est l'ensemble complet des données
L'« échantillon » est le sous-ensemble sur lequel vous calculez
| total_cup_points | variety | country_of_origin | aroma | flavor | aftertaste | body | balance |
|---|---|---|---|---|---|---|---|
| 90.58 | NA | Ethiopia | 8.67 | 8.83 | 8.67 | 8.50 | 8.42 |
| 89.92 | Other | Ethiopia | 8.75 | 8.67 | 8.50 | 8.42 | 8.42 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 73.75 | NA | Vietnam | 6.75 | 6.67 | 6.5 | 6.92 | 6.83 |
pts_vs_flavor_pop = coffee_ratings[["total_cup_points", "flavor"]]
total_cup_points flavor
0 90.58 8.83
1 89.92 8.67
2 89.75 8.50
3 89.00 8.58
4 88.83 8.50
... ... ...
1333 78.75 7.58
1334 78.08 7.67
1335 77.17 7.33
1336 75.08 6.83
1337 73.75 6.67
[1338 lignes x 2 colonnes]
pts_vs_flavor_samp = pts_vs_flavor_pop.sample(n=10)
total_cup_points flavor
1088 80.33 7.17
1157 79.67 7.42
1267 76.17 7.33
506 83.00 7.67
659 82.50 7.42
817 81.92 7.50
1050 80.67 7.42
685 82.42 7.50
1027 80.92 7.25
62 85.58 8.17
[10 lignes x 2 colonnes]
.sample() pour les DataFrame et Series pandascup_points_samp = coffee_ratings['total_cup_points'].sample(n=10)
1088 80.33
1157 79.67
1267 76.17
... ...
685 82.42
1027 80.92
62 85.58
Name: total_cup_points, dtype: float64
Un « paramètre de population » est un calcul sur l'ensemble de la population
import numpy as np
np.mean(pts_vs_flavor_pop['total_cup_points'])
82.15120328849028
Une « estimation ponctuelle » ou « statistique d'échantillon » est un calcul sur l'échantillon
np.mean(cup_points_samp)
81.31800000000001
pts_vs_flavor_pop['flavor'].mean()
7.526046337817639
pts_vs_flavor_samp['flavor'].mean()
7.485000000000001
Échantillonnage en Python