我有两个数据帧具有相同的列。第二列是第一列的索引值的子集,但其中一些列的空字段和其他列的更新信息。检查一个大熊猫数据帧的元素更新另一个
例子:
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会更安全,因此如果需要的话,他们可以返回原始数据框。 –