Python 任务期间的Dask进度

Python 任务期间的Dask进度,python,pandas,dask,tqdm,dask-dataframe,Python,Pandas,Dask,Tqdm,Dask Dataframe,使用dask数据帧 df=dask.dataframe.from_pandas(df,npartitions=5) 系列=df.apply(函数) future=client.compute(系列) 进步(未来) 在jupyter笔记本中,我可以看到每个分区(例如2/5)完成了多少apply()调用的进度条。 dask是否有方法报告每个分区内的进度? 类似于熊猫的TQMprogress\u apply() 如果您的意思是,每次调用func()的完成程度如何,那么不,Dask无法知道这一点。Das

使用dask数据帧
df=dask.dataframe.from_pandas(df,npartitions=5)
系列=df.apply(函数)
future=client.compute(系列)
进步(未来)

在jupyter笔记本中,我可以看到每个分区(例如2/5)完成了多少apply()调用的进度条。
dask是否有方法报告每个分区内的进度?

类似于熊猫的TQM
progress\u apply()

如果您的意思是,每次调用
func()
的完成程度如何,那么不,Dask无法知道这一点。Dask调用在自己的python线程中运行的python函数(python线程不能被另一个线程中断),Dask只知道调用是否完成


您可能会想到调用一个具有一些内部回调或其他报告系统的函数,但我想我从未见过类似的情况。

为什么不?Dask对每个数据帧行调用
func
,因此Dask知道每行何时完成
func
(如tqdm)。我想以某种方式注册一个“钩子”..Dask不为每一行调用func,它调用pandas的
apply
,有没有办法将apply替换为tqdm progress apply?或者,手动向daskYes报告进度,您可以为apply编写自己的包装器,以某种方式通知客户机,但这是未知领域,您只能靠自己。如果只使用线程,则前者可能是可能的,但我怀疑输出是否合理。