设置
假设我有两个 panda DataFrame:df1
,其大小为 5 x K
和df2
其尺寸为 3 x K
,
| key | rest ... | key | rest ...
---------------- ----------------
| A1 | ⋮ | A1 | ⋮
| A2 | ⋮ | A3 | ⋮
| A3 | ⋮ | A4 | ⋮
| A4 | ⋮
| A5 | ⋮
在我的实际数据集中,key
包含名称(例如不是 A2
)并且半重叠不遵循任何模式。
我要加入df1
和df2
关于key
列,该列在 A1
中“半重叠” , A3
和A5
。
我想我可以将空行添加到 df2
,例如两个空行到 df2
值(value)A2
和A5
对于 key
,然后加入 DataFrame。但是,然后我需要找出 df2
中缺少哪些行。 。
也许我可以构造一个for
循环键,这会使用 for key
创建一个空行失踪An
当没有关键匹配时?我不确定如何在两个数据帧上构建 for 循环。
也许有一个简洁的命令可以立即连接框架,填充空行?
编辑:刚刚意识到这可能是双向的,即 df2
中有 key 不在 df1
中。但我想运行一个循环,如首先“检查”来自 df1
的键所述。至df2
然后检查 df2
中的 key 至df1
应该可以。
最佳答案
对于“半重叠”连接,如果您的意思是保留结果中两个数据帧中不匹配的行,则使用外部合并
:
df1.merge(df2, on='key', how='outer')
关于python - Pandas:在半重叠的列上连接两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43537370/