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>, [])}
方法はありますか?