小编Sta*_*Fox的帖子

Python Dask-dataframe.map_partitions()返回值

因此dask.dataframe.map_partitions()需要一个func论点和meta争论。如何准确确定其返回类型?举个例子:

... \ some_folder中有很多csv。

ddf = dd.read_csv(r"...\some_folder\*", usecols=['ColA', 'ColB'], 
                                        blocksize=None, 
                                        dtype={'ColA': np.float32, 'ColB': np.float32})
example_func = lambda x: x.iloc[-1] / len(x)
metaResult = pd.Series({'ColA': .1234, 'ColB': .1234})
result = ddf.map_partitions(example_func, meta=metaResult).compute()
Run Code Online (Sandbox Code Playgroud)

我对“分布式”计算还很陌生,但是我可以直观地期望它返回Series对象的集合(很可能是列表或字典),但是结果是一个Series对象,可以认为是结果的串联每个分区上的example_func。如果此系列有一个MultiIndex来指示分区标签,那么这本身就足够了。

这个问题文档源代码本身可以看出,这是因为读取csv ddf.divisions会返回a (None, None, ..., None)吗?有没有一种简便的方法来执行此操作,或者我需要自己手动进入并中断返回的Series(example_func每个分区返回的Series的串联)?

另外,请随时更正我的假设/做法,因为我是新手。

python pandas dask

5
推荐指数
1
解决办法
1984
查看次数

标签 统计

dask ×1

pandas ×1

python ×1