Systematyczne pobieranie próbek u pand (z przykładami)


Naukowcy często pobierają próbki z populacji i wykorzystują dane z próbki do wyciągania wniosków na temat populacji jako całości.

Powszechnie stosowaną metodą pobierania próbek jest systematyczne pobieranie próbek , które realizuje się w prostym dwuetapowym procesie:

1. Ułóż każdego członka populacji w określonej kolejności.

2. Wybierz losowy punkt początkowy i wybierz jednego członka spośród n, który będzie częścią próby.

W tym samouczku wyjaśniono, jak systematycznie pobierać próbki na ramce DataFrame pandy w języku Python.

Przykład: systematyczne pobieranie próbek wśród pand

Załóżmy, że nauczyciel chce pozyskać próbę 100 uczniów ze szkoły, która liczy łącznie 500 uczniów. Decyduje się zastosować dobór systematyczny, w którym umieszcza każdego ucznia w kolejności alfabetycznej na podstawie jego nazwiska, losowo wybiera punkt wyjścia i wybiera co piątego ucznia do próby.

Poniższy kod pokazuje, jak utworzyć fałszywą ramkę danych do pracy w Pythonie:

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

#make this example reproducible
n.p. random . seeds (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))

#createDataFrame
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

Poniższy kod pokazuje, jak uzyskać próbę 100 uczniów poprzez systematyczne pobieranie próbek:

 #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)

Należy zauważyć, że pierwszy element zawarty w próbie znajdował się w pierwszym wierszu oryginalnej ramki danych. Każdy kolejny element próbki znajduje się 5 linii po poprzednim elemencie.

Używając funkcji Shape() możemy zobaczyć, że otrzymaną próbkę systematyczną stanowi ramka danych składająca się ze 100 wierszy i 2 kolumn.

Dodatkowe zasoby

Rodzaje metod pobierania próbek
Próbkowanie klastrów u pand
Próbkowanie warstwowe u pand

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *