Я хочу обновить значения в фрейме данных GeoPanda из другого фрейма данных GeoPanda для выбранных столбцов. У них обоих будет общий ключ, называемый «геометрией».
Например,
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"])
После этого ответ Я сделал следующие шаги:
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 ['Некоммерческий']. Update (df2 ['Non'])) даст правильный результат.
геометрия Линейная строка из Geo Pandas заменена символом для простоты.