我有兩個數據幀具有相同的列。第二列是第一列的索引值的子集,但其中一些列的空字段和其他列的更新信息。檢查一個大熊貓數據幀的元素更新另一個
例子:
DFA:
Height Weight Age Street PhoneNumber
Pete 5.2 130 33 Pine 123-456-7890
Mary 5.0 110 34 Main 434-444-5555
Rob 6.0 230 44 Maple 999-444-2222
....
DFB:
Height Weight Age Street PhoneNumber
Pete Nan 125 Nan Arbor Nan
Rob Nan 235 45 Nan 776-333-3222
我想在dfb
新的信息來更新字段dfa
。如果沒有更新dfb
(該字段是Nan),我想保留原始值dfa
。
我能想到做到這一點的唯一方法是通過行和列進行迭代,找到dfb
的元素,然後在dfa
等於dfb
地址設置相應的地址。醜陋。
是否有更乾淨(更pythonic)的方式來做到這一點?
在此先感謝。
編輯:爲清晰起見,更改了dfb。這兩個dfs沒有相同的索引。 dfb是dfa的一個子集。
有趣。文件說'a的值優先使用b來填補漏洞'。我還沒有測試過,但是如果我正確理解使用了a的值(即使爲空),但是如果存在來自b的非空值(其中index.a = = index.b),則會被替換。是對的嗎? – Windstorm1981
輸出來自'dfb'。然後您需要將其重新分配給'dfa',或者之後將'dfb'用作完成的數據幀。我相信'更新'是一個更乾淨的解決方案。 – Alexander
如果您想放棄原始數據框中的更改跟蹤,請選擇清理程序。我認爲如果您給用戶選擇重新分配或創建新的dfc會更安全,因此如果需要的話,他們可以返回原始數據框。 –