Эквивалент Dask numpy.where
равен dask.array.where
.
В качестве примера:
import pandas as pd
import numpy as np
import dask.array as da
import dask.dataframe as dd
df = pd.DataFrame([-1,2,-4,5,-10], columns=['a'])
ddf = dd.from_pandas(df, 2)
print(df)
a
0 -1
1 2
2 -4
3 5
4 -10
da.where(ddf['a'] > 0, 0, 1).compute()
array([1, 0, 1, 0, 1])
Вы также можете сделать эквивалентный пример из вашего комментария.
da.where(ddf['a'] > 0, np.nan, 5*ddf['a']).compute()
array([ -5., nan, -20., nan, -50.])
Возможно, вам потребуется обновить версии библиотеки, установить дополнительные библиотеки (например, dask.array) или предоставить дополнительную информацию, если ваш указанный пример c не работает. Это работает со следующими установленными библиотеками Dask:
dask 2.10.0 py_0
dask-core 2.10.0 py_0