首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dask @Dask将数据转换为熊猫

Dask @Dask将数据转换为熊猫
EN

Stack Overflow用户
提问于 2022-03-04 19:40:09
回答 1查看 472关注 0票数 0

我有这样的代码,它调用一个@delayed函数,该函数以N个dask数据格式作为输入,并返回一个dataframe作为输出。

有两个问题:(1)函数内部的数据类型是熊猫而不是达斯克;(2)当我得到函数的结果时,它也是熊猫而不是达斯克。

作为熊猫数据输入而不是达克,@delayed背后的逻辑是什么?我只需要和达克数据处理一起工作。

这是代码:

代码语言:javascript
复制
df = pd.DataFrame({
    'height':  [6.21, 5.12, 5.85, 5.78, 5.98],
    'weight': [150, 126, 133, 164, 203]
})

df_dask = dd.from_pandas(df, npartitions=2)


@delayed
def some_function(*b):
    print('type b[0]: ' + str(type(b[0])) )
    ddf = b[0]
    return ddf

ddfout = some_function(df_dask, df_dask, df_dask)

computed = ddfout.compute()
>>> type b[0]: <class 'pandas.core.frame.DataFrame'> # this should be dask dataframe

type(computed)
>>> pandas.core.frame.DataFrame
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-04 20:01:24

获取dataframe ddfddf的方法是:

代码语言:javascript
复制
ddf[0]

这里没有延迟的必要,API已经为支持的所有熊猫方法(大多数)提供了延迟操作。

延迟是用于对常量和其他延迟值的任意操作,而不是像dataframe这样的dask集合。

参见文档:https://docs.dask.org/en/stable/delayed-best-practices.html#don-t-call-dask-delayed-on-other-dask-collections;您可能需要ddf.map_partitions

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71356468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档