Значение по умолчанию для np.random.choice()
- выборка с заменой, replace=True
.
Учитывая размер выборки 1000, вполне вероятно, что врезультирующий образец.
Например,
>>> import pandas as pd
>>> import numpy as np
>>> np.random.seed(444)
>>> s = pd.Series(list(range(1000)))
>>> ids = np.random.choice(s, 1000)
>>> s[s.isin(ids)].count()
623
>>> ids_no_rep = np.random.choice(s, 1000, replace=False)
>>> s[s.isin(ids_no_rep)].count()
1000
Если вы хотите перетасовать значения этого столбца на месте, вы можете вызвать np.random.shuffle(df["col"].values)
для этого столбца.