Python dask与numpy的等价物是什么?

Python dask与numpy的等价物是什么?,python,dask,Python,Dask,我正在尝试做以下等效的矢量化if-else,但是找不到任何适用于dask的东西。dask.array.where始终返回NotImplemented 实现这一目标的最佳方式是什么 np.wheredf['columne']>0,0,1numpy.where的Dask等价物是Dask.array.where 例如: 作为pd进口熊猫 将numpy作为np导入 ​ 将dask.array导入为da 将dask.dataframe作为dd导入 ​ df=pd.DataFrame[-1,2,-4,5,-

我正在尝试做以下等效的矢量化if-else,但是找不到任何适用于dask的东西。dask.array.where始终返回NotImplemented

实现这一目标的最佳方式是什么

np.wheredf['columne']>0,0,1

numpy.where的Dask等价物是Dask.array.where

例如:

作为pd进口熊猫 将numpy作为np导入 ​ 将dask.array导入为da 将dask.dataframe作为dd导入 ​ df=pd.DataFrame[-1,2,-4,5,-10],columns=['a'] ddf=dd.from_pandasdf,2 printdf A. 0 -1 1 2 2 -4 3 5 4 -10 其中ddf['a']>0,0,1.compute 数组[1,0,1,0,1] 你也可以从你的评论中做同样的例子

其中ddf['a']>0,np.nan,5*ddf['a'].计算 数组[-5.,nan,-20.,nan,-50.] 如果特定示例不起作用,您可能需要升级库版本、安装其他库(如dask.array),或者提供更多信息。这适用于安装的以下Dask库:

dask                      2.10.0                     py_0  
dask-core                 2.10.0                     py_0
numpy.where的Dask等价物是Dask.array.where

例如:

作为pd进口熊猫 将numpy作为np导入 ​ 将dask.array导入为da 将dask.dataframe作为dd导入 ​ df=pd.DataFrame[-1,2,-4,5,-10],columns=['a'] ddf=dd.from_pandasdf,2 printdf A. 0 -1 1 2 2 -4 3 5 4 -10 其中ddf['a']>0,0,1.compute 数组[1,0,1,0,1] 你也可以从你的评论中做同样的例子

其中ddf['a']>0,np.nan,5*ddf['a'].计算 数组[-5.,nan,-20.,nan,-50.] 如果特定示例不起作用,您可能需要升级库版本、安装其他库(如dask.array),或者提供更多信息。这适用于安装的以下Dask库:

dask                      2.10.0                     py_0  
dask-core                 2.10.0                     py_0

如果直接分配结果会怎么样?也就是说,df[columne_bool]=df[columne]@alkasm您的解决方案绝对是一个解决方案。虽然darray有这样的用例,但df['col']<1e-3,np.nan,df['col2']在每一个使用的用例中,你仍然可以赋值,你只需要把它转换成两个赋值。首先为false条件指定值,然后有条件地指定true值。df['new']=val_when_false和df[condition,'new']=val_when_true.As@alkasm,不需要从where开始使用。如果直接分配结果会怎么样?也就是说,df[columne_bool]=df[columne]@alkasm您的解决方案绝对是一个解决方案。虽然darray有这样的用例,但df['col']<1e-3,np.nan,df['col2']在每一个使用的用例中,你仍然可以赋值,你只需要把它转换成两个赋值。首先为false条件指定值,然后有条件地指定true值。df['new']=val_when_false和df[condition,'new']=val_when_true.As@alkasm,首先不需要使用where。值得注意的是,如果要保留序列结构而不是切换到阵列,Dask数据帧也有一个.where方法。如果要保留序列结构而不是切换到阵列,Dask数据帧也有一个.where方法。