我有兩個不同長度的熊貓數據框,當兩列匹配時,我需要有條件地覆蓋從一個到另一個的值。有條件地加入多個索引的熊貓DF
df1.val = df2.val where df1.val == null and df1.key1 == df2.key1 and df1.key2 == df2.key2
df1
和df2
具有非常不同的組列和行的長度,保存爲key1
,key2
和val
。唯一可以保證的是,df1
中的每(key1, key2)
,df2
中只有一個(key1, key2)
。
到目前爲止,我一直走下去的
df1.loc[df1.val.isnull(), "val"] = df2.val
嘗試設置指標相匹配的路徑,但我還沒有在任何地方得到。
我知道這裏有一些加入項目,但是我還沒有在這方面取得任何進展。一些語法幫助將不勝感激。
編輯數據:
DF1:
First Last Val Random1 ...
John Smith 4 x
Todd Smith 5 Nan
John Todd Nan z
DF2:
First Last Val Random2 ...
John Smith 7 4
Todd Smith 6 9
John Todd 3 3
Eric Smith 5 2
結果:
First Last Val Random1 ...OtherDF1Cols...
John Smith 4 x
Todd Smith 5 Nan
John Todd 3 z
你可以添加一些數據樣本的選擇嗎? – jezrael