Systematische probenahme bei pandas (mit beispielen)
Forscher entnehmen häufig Stichproben aus einer Population und nutzen die Daten aus der Stichprobe, um Rückschlüsse auf die Population als Ganzes zu ziehen.
Eine häufig verwendete Probenahmemethode ist die systematische Probenahme , die in einem einfachen zweistufigen Prozess umgesetzt wird:
1. Ordnen Sie jedes Mitglied einer Bevölkerung in einer bestimmten Reihenfolge an.
2. Wählen Sie einen zufälligen Startpunkt und wählen Sie ein Mitglied von n aus, das Teil der Stichprobe sein soll.
In diesem Tutorial wird erläutert, wie Sie systematische Stichproben für einen Pandas-DataFrame in Python durchführen.
Beispiel: systematische Probenahme bei Pandas
Angenommen, ein Lehrer möchte eine Stichprobe von 100 Schülern einer Schule mit insgesamt 500 Schülern erhalten. Sie entscheidet sich für eine systematische Stichprobe, bei der sie jeden Schüler anhand seines Nachnamens in alphabetischer Reihenfolge anordnet, einen zufälligen Ausgangspunkt wählt und jeden fünften Schüler für die Stichprobe auswählt.
Der folgende Code zeigt, wie man einen gefälschten Datenrahmen für die Arbeit in Python erstellt:
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
Und der folgende Code zeigt, wie man durch systematische Stichprobe eine Stichprobe von 100 Schülern erhält:
#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)
Beachten Sie, dass sich das erste in der Stichprobe enthaltene Mitglied in der ersten Zeile des ursprünglichen Datenrahmens befand. Jedes nächste Mitglied der Stichprobe befindet sich 5 Zeilen nach dem vorherigen Mitglied.
Und mithilfe von shape() können wir sehen, dass die systematische Stichprobe, die wir erhalten haben, ein Datenrahmen mit 100 Zeilen und 2 Spalten ist.
Zusätzliche Ressourcen
Arten von Stichprobenmethoden
Cluster-Sampling bei Pandas
Geschichtete Probenahme bei Pandas