合并两个没有公共元素但其中一个是单列几何列的 GeoDataFrame

merging two geodataframes with no common elements but one is a single columned geometry column

提问人:MedicineMan 提问时间:11/2/2023 更新时间:11/2/2023 访问量:21

问:

下午好

我在 python3 中使用 geopandas,我有一个小问题,我一直被困住了,似乎无法解决。我有两个行数相同的地理数据帧。第一个 geodataframe 有 1700 行,有 6 列,第二个 geodataframe 有 1700 行,有一列,但该单列是几何列。

我只是尝试将该单列几何数据框添加到具有常规统计信息的第一个 geodataFrame 的最后一列,以确保它仍然是几何列。

所以我的第一个地理数据帧,df1 看起来像这样......

    Mean    Std Dev  Max    Min   Day    Date
0   174.7   417.9   6904    0   2019003 2019-01-03
1   190.4   402.8   6876    0   2019004 2019-01-04

第二个 GeoDataFrame,DF2 看起来像这样......

                     geometry
0   POLYGON ((-78 43, -78 44))
1   POLYGON ((-78 43, -78 44))

正确连接后,它应该看起来像这样,作为单个地理数据帧 df3

        Mean      Std Dev    Max    Min   Day    Date         geometry
0   174.765941  417.942834  6904    0   2019003 2019-01-03    POLYGON((-78 43, -78 44))
1   190.446559  402.876998  6876    0   2019004 2019-01-04    POLYGON((-78 43, -78 44))

我试过追加,那没有用,我试过插入,那没有用,我试过连接,但没有用。

我错过了什么,我该怎么做。

提前感谢您的所有帮助。

PANDAS 数据帧 合并 几何图形 Geopandas

评论


答:

0赞 Corralien 11/2/2023 #1

用:pd.concat

import pandas as pd
import geopandas as gpd

df3 = gpd.GeoDataFrame(pd.concat([df1, df2], axis=1), crs=df2.crs)

输出:

    Mean  Std Dev   Max  Min      Day        Date                   geometry
0  174.7    417.9  6904    0  2019003  2019-01-03  POLYGON((-78 43, -78 44))
1  190.4    402.8  6876    0  2019004  2019-01-04  POLYGON((-78 43, -78 44))

评论

0赞 MedicineMan 11/2/2023
谢谢。这很有效。当我最初尝试连接时,我没有将轴设置为等于 1,这给我带来了问题。非常感谢您的帮助。