0

Dask の使用、特にその遅延計算と DAG 機能を検討しています。

未知の入力を持つ、適度に複雑な計算データがあります。事前にビルドしてから、さまざまな入力で使用できるようにしたいと考えています。

dict / tuple インターフェースでこれを行うことができると思います:

from dask.threaded import get
import pandas as pd
power = lambda x, y: x**y

dsk = {'x': pd.Series(pd.np.random.rand(20)),
       'y': 2,
       'z': (power, 'x', 'y'),
       'w': (sum, ['x', 'y', 'z'])}

次にdsk、ポータブル ダグとして、x必要なものに置き換えることができます。(実際、最初は上記に含める必要はありませんでした)。

dsk['x'] = pd.Series(pd.np.random.rand(20))
get(dsk, 'w')

しかし、私たちはこれを行うことができdask.imperativeますか? 私の最初の結果は、私たちが到達できないことを示唆していますx:

x=pd.Series()

def filter_below_3(ds):
    return ds[ds<3]

f=do(filter_below_3)
graph=f(x)

graph.dask
# {'filter_below_3-0ae5a18c-206d-4293-84b6-eb0d39243296': (<function __main__.filter_below_3>,  [])}

方法はありますか?

4

1 に答える 1