Python geopandas GeoDataFrame使用gdf.astype()转换为pandas数据帧
我有一个geopandas GeoDataFrame,有多个列。当我尝试为geoDataFrame列设置数据类型时,它返回一个DataFrame。有没有方法返回GeoDataFrame对象 我已经做了一个变通方法,在设置列的数据类型之后,我将数据框更改回geoDataFrame。但我只是想知道是否有一种方法可以返回GeoDataFrame。我拥有的代码如下:Python geopandas GeoDataFrame使用gdf.astype()转换为pandas数据帧,python,pandas,geopandas,Python,Pandas,Geopandas,我有一个geopandas GeoDataFrame,有多个列。当我尝试为geoDataFrame列设置数据类型时,它返回一个DataFrame。有没有方法返回GeoDataFrame对象 我已经做了一个变通方法,在设置列的数据类型之后,我将数据框更改回geoDataFrame。但我只是想知道是否有一种方法可以返回GeoDataFrame。我拥有的代码如下: gdf_voronoi = gdf_voronoi.astype({'elec_neighbors': object, 'trans_li
gdf_voronoi = gdf_voronoi.astype({'elec_neighbors': object, 'trans_lines': object, 'Cap': float, 'Ratio': float,'Area': float})
geo_list = gdf_voronoi['geometry'].tolist()
gdf_voronoi = gpd.GeoDataFrame(gdf_voronoi, crs=crs, geometry=geo_list)
任何帮助都会很好 这是GeoPandas/pandas中的一个bug,为此我在这里打开了一个问题:。因此,在短期内,您需要保留您的变通方法,以便在以后转换回GeoDataFrame 请注意,要将结果转换回GeoDataFrame,不需要将几何图形转换为列表。指定几何图形列名称就足够了,如:
gdf_voronoi = gdf_voronoi.astype(...)
gdf_voronoi = geopandas.GeoDataFrame(gdf_voronoi, geometry='geometry', crs=crs)
或者,由于“几何体”是默认值,在这种情况下,您甚至可以忽略:
gdf_voronoi = gdf_voronoi.astype(...)
gdf_voronoi = geopandas.GeoDataFrame(gdf_voronoi, crs=crs)
我不知道。非常感谢你。我将按照建议对代码进行更改。