代码之家  ›  专栏  ›  技术社区  ›  Philipp_Kats

Dask&Geopandas:'str'对象没有属性

  •  1
  • Philipp_Kats  · 技术社区  · 7 年前

    我有一个GeoSeries,每个单元格中都有一个多边形对象,我正在尝试并行化所有特征的光栅化(我正在尝试最终得到一系列二维数组,然后将其转换为沙雷.DF):

    cbd = dd.from_pandas(cb['geometry'], npartitions=2)
    
    def _rasterize_area(geom):
        F = features.rasterize([(geom, geom.area)],
                                 out_shape= (cvs.plot_height, 
                                 cvs.plot_width), transform=aform, dtype=float64)
        return F
    
    A = cbd.apply(_rasterize_area, convert_dtype=False)
    

    但是,当我运行上面的最后一行时,我得到一个错误:

    <ipython-input-18-f1e938162097> in _rasterize_area(geom)
          1 def _rasterize_area(geom):
    ----> 2     F = features.rasterize([(geom, geom.area)],  out_shape=(cvs.plot_height, cvs.plot_width), transform=aform, dtype=float64)
          3     return F
    
    AttributeError: 'str' object has no attribute 'area' 
    

    (这只是错误消息中有意义的部分)

    不知道我的对象在哪里以及如何被转换成字符串,但是。。。。

    1 回复  |  直到 7 年前
        1
  •  1
  •   MRocklin    7 年前

    Dask数据帧并不正式支持非熊猫数据帧。如果在某个时刻您的数据帧被转换成熊猫数据帧,并强制进行某种字符串转换,我也不会感到惊讶。

    https://github.com/mrocklin/dask-geopandas