Кластерная выборка в Pandas (с примерами)


Исследователи часто берут образцы из населения и используют данные из выборки, чтобы сделать выводы о населении в целом.

Одним из широко используемых методов выборки является кластерная выборка , при которой совокупность разбивается на кластеры, и все члены некоторых кластеров выбираются для включения в выборку.

В этом руководстве объясняется, как выполнять кластерную выборку в кадре данных 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