我遇到了将两个 DF 合并为一个并按id
第二个 DF 中的值保存所有重复行的问题。例子:
df1 = pd.DataFrame({
'id': ['id1', 'id2', 'id3', 'id4'],
'com': [134.6, 223, 0, 123],
'malicious': [False, False, True, False]
})
df2 = pd.DataFrame({
'id': ['id7', 'id2', 'id5', 'id6'],
'com': [134.6, 27.6, 0, 123],
'malicious': [False, False, False, False]
})
df1
id com malicious
0 id1 134.6 False
1 id2 223.0 False
2 id3 0.0 True
3 id4 123.0 False
df2
id com malicious date
0 id7 134.6 False 2021-01-01
1 id2 27.6 False 2021-01-01
2 id5 0.0 False 2021-01-01
3 id6 123.0 False 2021-01-01
我是。期望输出为:
id com malicious date
1 id1 134.6 False null
2 id3 0.0 True null
3 id4 123.0 False null
4 id7 134.6 False 2021-01-01
5 id2 27.6 False 2021-01-01
6 id5 0.0 False 2021-01-01
7 id6 123.0 False 2021-01-01
如您所见,我们添加了一个新列,df1 的所有行现在都为 null 并且 row withid2
被替换为所有值df2
(更新列的数量可以不同,因此不是更新特定列的值,而是替换整个row by id
) 我不关心索引和排序
寻找有效的解决方案,因为我有大量文件,我应该以这种方式合并到主 DF