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