Pandas: wie man zeilen mit ersetzung abtastet
Sie können das Argument „replace=True“ in der pandas-Funktion „sample()“ verwenden, um zufällig Zeilen aus einem DataFrame mit Ersetzung abzutasten:
#randomly select n rows with repeats allowed df. sample (n= 5 , replace= True )
Durch die Verwendung von „replace=True“ ermöglichen Sie, dass dieselbe Zeile mehrmals in das Beispiel aufgenommen wird.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Beispiele für Zeilen mit Ersetzung in Pandas
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 B 22 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 9 5 6 G 20 9 9 7:28 4 12
Angenommen, wir verwenden die Funktion sample() , um zufällig eine Stichprobe von Zeilen auszuwählen:
#randomly select 6 rows from DataFrame (without replacement) df. sample (n= 6 , random_state= 0 ) team points assists rebounds 6 G 20 9 9 2 C 19 7 10 1 B 22 7 8 7:28 4 12 3 D 14 9 6 0 A 18 5 11
Beachten Sie, dass im DataFrame sechs Zeilen ausgewählt wurden und keine der Zeilen im Beispiel mehrmals vorkommt.
Hinweis : Das Argument random_state=0 stellt sicher, dass dieses Beispiel reproduzierbar ist.
Nehmen wir nun an, wir verwenden das Argument „replace=True“ , um eine zufällige Stichprobe von Zeilen mit Ersetzung auszuwählen:
#randomly select 6 rows from DataFrame (with replacement) df. sample (n= 6 , replace= True , random_state= 0 ) team points assists rebounds 4 E 14 12 6 7:28 4 12 5 F 11 9 5 0 A 18 5 11 3 D 14 9 6 3 D 14 9 6
Beachten Sie, dass die Zeile mit Team „D“ mehrmals vorkommt.
Durch die Verwendung des Arguments „replace=True“ ermöglichen wir, dass dieselbe Zeile im Beispiel mehrmals erscheint.
Beachten Sie auch, dass wir mit dem Argument frac einen zufälligen Bruchteil des DataFrame auswählen können, der in die Stichprobe einbezogen werden soll.
Das folgende Beispiel zeigt beispielsweise, wie 75 % der Zeilen ausgewählt werden, die in die Ersetzungsstichprobe einbezogen werden sollen:
#randomly select 75% of rows (with replacement) df. sample (frac= 0.75 , replace= True , random_state= 0 ) team points assists rebounds 4 E 14 12 6 7:28 4 12 5 F 11 9 5 0 A 18 5 11 3 D 14 9 6 3 D 14 9 6
Beachten Sie, dass 75 % der Linien (6 von 8) in der Stichprobe enthalten waren und mindestens eine der Linien (mit Team „D“) zweimal in der Stichprobe vorkam.
Hinweis : Die vollständige Dokumentation für die Funktion pandas sample() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Stichprobenmethoden in Pandas durchgeführt werden:
So führen Sie eine geschichtete Probenahme bei Pandas durch
So führen Sie Cluster-Sampling in Pandas durch