gpt4 book ai didi

python - geopandas GeoDataFrame 使用 gdf.astype() 转换为 pandas DataFrame

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:13 28 4
gpt4 key购买 nike

我有一个包含多列的 geopandas GeoDataFrame。当我尝试为 geoDataFrame 列设置数据类型时,它返回一个 pandas DataFrame。有没有办法返回 GeoDataFrame 对象?

我做了一个解决方法,在设置列的数据类型后,我将 DataFrame 改回 geoDataFrame。但我只是想知道是否有办法返回 GeoDataFrame。我的代码如下:

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 中的一个错误,为此我在这里打开了一个问题:https://github.com/geopandas/geopandas/issues/1006 .因此,在短期内,您将需要保留解决方法,以便之后转换回 GeoDataFrame。

请注意,要将结果转换回 GeoDataFrame,您不需要将几何图形转换为列表。指定几何列名称就足够了,例如:

gdf_voronoi = gdf_voronoi.astype(...)
gdf_voronoi = geopandas.GeoDataFrame(gdf_voronoi, geometry='geometry', crs=crs)

或者因为 'geometry' 是默认的,在这种情况下你甚至可以忽略它:

gdf_voronoi = gdf_voronoi.astype(...)
gdf_voronoi = geopandas.GeoDataFrame(gdf_voronoi, crs=crs)

关于python - geopandas GeoDataFrame 使用 gdf.astype() 转换为 pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56303619/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com