In pandas (Python am nächsten Analog zu R) gibt es die DataFrame.sample
und Series.sample
Methoden, die beide in Version 0.16.1 eingeführt wurden.
Zum Beispiel:
>>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [6, 7, 8, 9, 0]})
>>> df
a b
0 1 6
1 2 7
2 3 8
3 4 9
4 5 0
Sampling 3 Reihen ersatzlos:
>>> df.sample(3)
a b
4 5 0
1 2 7
3 4 9
Probe 4 Zeilen von Spalte 'a' mit Ersatz, Spalte 'b' ist wie die entsprechenden Gewichtungen für die Auswahl unter Verwendung von :
>>> df['a'].sample(4, replace=True, weights=df['b'])
3 4
0 1
0 1
2 3
Diese Methoden sind fast identisch mit der R-Funktion, erlauben Sie können eine bestimmte Anzahl von Werten - oder einen Bruchteil von Werten - aus Ihrem DataFrame/Series mit oder ohne Ersatz abfragen. Beachten Sie, dass das prob
Argument in R sample()
weights
in den Pandas-Methoden entspricht.
Leider ist die Funktion, die Sie vorschlagen, bieten nicht die Möglichkeit von Stichproben mit Ersatz. Die Funktionen @ajcr und ich vorschlagen können es tun. – Ouistiti
Cool, gut, etwas Nützliches zu lernen. – polka