Systematische bemonstering bij panda's (met voorbeelden)
Onderzoekers nemen vaak steekproeven uit een populatie en gebruiken de gegevens uit de steekproef om conclusies te trekken over de populatie als geheel.
Een veelgebruikte bemonsteringsmethode is systematische bemonstering , die wordt geïmplementeerd in een eenvoudig proces van twee stappen:
1. Plaats elk lid van een populatie in een bepaalde volgorde.
2. Kies een willekeurig startpunt en selecteer één lid uit n om deel uit te maken van de steekproef.
In deze zelfstudie wordt uitgelegd hoe u systematische steekproeven uitvoert op een panda’s DataFrame in Python.
Voorbeeld: systematische bemonstering onder panda’s
Stel dat een leraar een steekproef van 100 leerlingen wil verkrijgen van een school met in totaal 500 leerlingen. Ze kiest ervoor om systematische steekproeven te gebruiken, waarbij ze elke leerling in alfabetische volgorde plaatst op basis van hun achternaam, willekeurig een startpunt kiest en elke vijfde leerling selecteert die in de steekproef moet worden opgenomen.
De volgende code laat zien hoe u een nepdataframe maakt om mee te werken in Python:
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
En de volgende code laat zien hoe je een steekproef van 100 studenten kunt verkrijgen door middel van systematische steekproeven:
#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)
Merk op dat het eerste lid in de steekproef zich in de eerste rij van het oorspronkelijke gegevensframe bevond. Elk volgend lid van de steekproef bevindt zich vijf regels na het vorige lid.
En door shape() te gebruiken, kunnen we zien dat de systematische steekproef die we hebben een dataframe is van 100 rijen en 2 kolommen.
Aanvullende bronnen
Soorten bemonsteringsmethoden
Clusterbemonstering bij panda’s
Gestratificeerde bemonstering bij panda’s