Я хочу случайным образом выбирать значения k без замены из серии Dask, и я не хочу заранее вычислять длину серии. Если k больше длины серии, я хочу вернуть всю серию.
Я пробовал образец функции серии dask, но он не может обрабатывать объект с задержкой как параметр frac
:
df = pd.DataFrame({"A": [0, 1, 2]})
ddf = dd.from_pandas(df, npartitions=1)
ds = ddf["A"]
k = 2
sampled_series = ds.sample(frac=k / ds.shape[0])
sampled_series.compute()
дает ошибку
TypeError: попытка преобразовать dd.Scalar ‹lt-3dc6 ..., dtype = bool› в логическое значение ...
Я также пробовал образец из сумки для белья., но выдает ошибку, если k больше, чем длина мешка:
df = pd.DataFrame({"A": [0, 1, 2]})
ddf = dd.from_pandas(df, npartitions=1)
ds = ddf["A"]
sample = random.sample(ds.to_bag(), k=4)
sample.compute()
дает ошибку
Исключение: ValueError ('Выборка больше генеральной совокупности или отрицательная')
Есть ли способ получить желаемый результат?