這是我的資料框df
Id Value
3 104
6 108
這是參考資料ref
Id Code Long Lat
1 ABC 89 82
2 DEF 87 81
3 GHI 89 82
4 IJK 90 81
5 LMN 90 81
6 OPQ 87 81
這就是我所做的
df.merge(ref, how='left', left_on=['Id'], right_on = ['Id'])
結果是
Id Value Code Long Lat
3 104 GHI 89 82
6 108 OPQ 87 81
我期望的
Id 1是給予Value 104,因為它具有相同的Long和Lat與Id 3,
Id 2是給予Value 108,因為它具有相同的Long和Lat具有Id 6
所以輸出資料框將是這樣的
Id Value Code Long Lat
1 104 ABC 89 82
2 108 DEF 87 81
3 104 GHI 89 82
6 108 OPQ 87 81
uj5u.com熱心網友回復:
你可以合并兩次
temp = df.merge(ref, how='left', left_on=['Id'], right_on = ['Id'])
out = ref.merge(temp[['Value','Long','Lat']])
Out[473]:
Id Code Long Lat Value
0 1 ABC 89 82 104
1 3 GHI 89 82 104
2 2 DEF 87 81 108
3 6 OPQ 87 81 108
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453569.html
上一篇:兩次加入同一表中的同一列
下一篇:Pandas在一個連接中加入
