Систематическая выборка в Pandas (с примерами)


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

Одним из широко используемых методов выборки является систематическая выборка , которая реализуется с помощью простого двухэтапного процесса:

1. Расположите каждого члена популяции в некотором порядке.

2. Выберите случайную начальную точку и выберите каждого n -го члена для включения в выборку.

В этом руководстве объясняется, как выполнять систематическую выборку в кадре данных pandas в Python.

Пример: систематическая выборка в Pandas

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

В следующем коде показано, как создать поддельный фрейм данных для работы с Python:

import pandas as pd
import numpy as np
import string
import random

#make this example reproducible
np.random.seed (0)

#create simple function to generate random last names
def randomNames(size=6, chars=string.ascii_uppercase ):
 return ''.join(random. choice (chars) for _ in range(size))

#create DataFrame
df = pd.DataFrame({'last_name': [randomNames() for _ in range(500)],
 'GPA': np.random.normal (loc=85, scale=3, size=500)})

#view first six rows of DataFrame
df.head ()

last_name GPA
0 PXGPIV 86.667888
1 JKRRQI 87.677422
2 TRIZTC 83.733056
3 YHUGIN 85.314142
4 ZVUNVK 85.684160

А следующий код показывает, как получить выборку из 100 студентов посредством систематической выборки:

#obtain systematic sample by selecting every 5th row
sys_sample_df = df.iloc [::5]

#view first six rows of DataFrame
sys_sample_df.head ()

 last_name gpa
3 ORJFW 88.78065
8 RWPSB 81.96988
13 RACZU 79.21433
18 ZOHKA 80.47246
23 QJETK 87.09991
28 JTHWB 83.87300

#view dimensions of data frame
sys_sample_df.shape

(100, 2)

Обратите внимание, что первый элемент, включенный в выборку, находился в первой строке исходного фрейма данных. Каждый последующий член в выборке расположен через 5 строк после предыдущего члена.

И с помощью shape() мы видим, что полученная нами систематическая выборка представляет собой фрейм данных со 100 строками и 2 столбцами.

Дополнительные ресурсы

Типы методов отбора проб
Кластерная выборка в Pandas
Стратифицированная выборка в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.