首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:“BlockManager”对象不可迭代

TypeError:“BlockManager”对象不可迭代
EN

Stack Overflow用户
提问于 2021-05-27 01:44:24
回答 1查看 85关注 0票数 1

我正在尝试合并一个cudf数据帧和一个geopandas数据帧。

代码语言:javascript
复制
df = df.merge(parishes[['NAME_3', 'area']], left_on='Parish', right_on='NAME_3').drop(columns=['NAME_3'])

df是一个cudf数据帧,而parishes是一个geopandas数据帧。

在运行上面的代码行时,我得到以下错误:

代码语言:javascript
复制
TypeError                                 Traceback (most recent call last)
<ipython-input-40-5143535bcf20> in <module>()
----> 1 df = df.merge(parishes[['NAME_3', 'area']], left_on='Parish', right_on='NAME_3').drop(columns=['NAME_3'])

5 frames
/usr/local/lib/python3.7/site-packages/cudf/core/join/join.py in _validate_merge_params(lhs, rhs, on, left_on, right_on, left_index, right_index, how, suffixes)
    414 
    415         # If nothing specified, must have common cols to use implicitly
--> 416         same_named_columns = set(lhs._data) & set(rhs._data)
    417         if (
    418             not (left_index or right_index)

TypeError: 'BlockManager' object is not iterable

问题出在哪里?有人能帮我一下吗?这是我第一次使用cudf dataframes,所以我不确定是什么导致了这个问题。

EN

回答 1

Stack Overflow用户

发布于 2021-05-27 02:14:07

cudfgeopandas目前还不兼容。您应该能够使用例如gpu_df = cudf.from_pandas(df[['Parishes', 'name_3']])将geopandas数据框架中的所有非几何列移动到cudf中,然后您可以将该gpu_df与任何其他cudf DataFrame合并。目前,cudf的路线图中没有geometry数据类型,但是直接依赖于cudfcuspatial (https://github.com/rapidsai/cuspatial)有。当6月份发布21.06版本时,cuspatial将支持geometry列,并使您可以更轻松地将cudfcuspatial的所有功能与来自geopandas的任何内容一起使用。

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

https://stackoverflow.com/questions/67710137

复制
相关文章

相似问题

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