【发布时间】:2021-08-12 10:28:13
【问题描述】:
我有两个数据框 DF1(33, 92) 和 DF2(11, 18) ,我想根据两个 DF 中列名“ID”的匹配值将 DF2 18 列复制到 DF1,这 18 个列在两个数据框中具有相同的名称。
我使用了以下合并:finaldf = pd.merge(DF1, DF2, on = 'ID', how ='left')
这很好用,只是它更改了 DF1 中的 18 列名称并添加了另外 18 列。所以最终的数据框形状是 (33, 109),而它应该是 DF1 形状 (33, 92) 但更新了行。
【问题讨论】:
-
如果“ID”是 DF1 中的“索引”列,那么我们无法达到这个要求,因为我们不能有 2 行具有相同的索引 ID。
-
查看 documentation 进行 pandas 合并。如果两个 dfs 中有相同的列名,merge 方法将添加后缀,以区分它们。您可以稍后重命名/删除多余的。
-
这能回答你的问题吗? pandas left join and update existing column