Исследователи часто берут образцы из населения и используют данные из выборки, чтобы сделать выводы о населении в целом.
Одним из широко используемых методов выборки является кластерная выборка , при которой совокупность разбивается на кластеры, и все члены некоторых кластеров выбираются для включения в выборку.
В этом руководстве объясняется, как выполнять кластерную выборку в кадре данных pandas в Python.
Пример: кластерная выборка в Pandas
Предположим, компания, организующая экскурсии по городу, хочет опросить своих клиентов. Из десяти туров, которые они проводят один день, они случайным образом выбирают четыре тура и просят каждого клиента оценить свой опыт по шкале от 1 до 10.
В следующем коде показано, как создать кадр данных pandas для работы:
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
А следующий код показывает, как получить выборку клиентов, случайным образом выбрав четыре тура и включив в выборку каждого участника этих туров:
#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
Из вывода мы видим, что:
- В выборку вошли 20 клиентов из туристической группы №10.
- В выборку вошли 20 клиентов из туристической группы №6.
- В выборку вошли 20 клиентов из туристической группы №5.
- В выборку вошли 20 клиентов из туристической группы №3.
Таким образом, эта выборка состоит из 80 клиентов из 4 разных туристических групп.
Дополнительные ресурсы
Понимание различных типов методов выборки
Стратифицированная выборка в Pandas
Систематическая выборка в Pandas