W pandas (najbliższym analogie Pythona do R) są metody DataFrame.sample
i Series.sample
, które zostały wprowadzone w wersji 0.16.1.
Na przykład:
>>> 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
próbkowania 3 rzędy bez wymiany:
>>> df.sample(3)
a b
4 5 0
1 2 7
3 4 9
Próbka 4 wiersze z kolumny 'A', zastępując przy użyciu kolumny 'B' jako odpowiednich wag do wyborów :
>>> df['a'].sample(4, replace=True, weights=df['b'])
3 4
0 1
0 1
2 3
Te metody są niemal identyczne z funkcją R, pozwalają Aby wypróbować określoną liczbę wartości - lub ułamek wartości - z DataFrame/Series, z lub bez wymiany. Zauważ, że argument prob
w R's sample()
odpowiada metodom pandy.
Niestety, funkcja proponujesz nie oferuje możliwość losowego pobierania próbek z wymianą. Funkcje @ jacr i ja możemy to zrobić. – Ouistiti
Fajnie, dobrze się nauczyć czegoś użytecznego. – polka