我想从另一个GeoPanda数据框中为选定的列更新GeoPanda数据框中的值。他们两个都有一个称为“ geometry”的通用密钥。
例如
df1 = pd.DataFrame([["X",1,1,0],
["Y",0,1,0],
["Z",0,0,0],
["Y",0,0,0]],columns=["geometry","Nonprofit","Business", "Education"])
df2 = pd.DataFrame([["Y",1,1],
["Z",1,1]],columns=["geometry","Non", "Edu"])
遵循此answer,我执行了以下步骤:
df1 = df1.set_index('geometry') df2 = df2.set_index('geometry') list_1 = ['Nonprofit', 'Education'] list_2 = ['Non', 'Edu'] df1[list_1].update(df2[list_2])
这将导致错误的结果,而不会发出任何警告。我该如何解决?
注意:
一次更新一列(df1 ['Nonprofit']。update(df2 ['Non']))将产生正确的结果。
为简单起见,用字符替换了GeoPandas的几何线串。
我想从另一个GeoPanda数据框中为选定的列更新GeoPanda数据框中的值。他们两个都有一个共同的密钥,称为“几何”。例如df1 = pd.DataFrame([[“ X”,1,...
[DataFrame.update仅更新具有相同名称的列!