设置向上
假设我有两个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
,其值为A2
,A5
为key
,然后加入DataFrame。但是,我需要确定df2
中缺少哪些行。
也许我可以在键上构建一个for
循环,当没有键匹配时,它会为key
创建一个空行An
。我不确定如何在两个数据帧上构建for循环。
也许有一个简洁的命令一次加入框架,填入空行?
编辑:刚刚意识到它可能是两种方式,即df2
中的密钥不在df1
中。但我想先运行一个循环,如前所述'检查'从df1
到df2
的密钥,然后检查从df2
到df1
的密钥应该有效。
答案 0 :(得分:1)
对于'半重叠'如果您想在结果中保留两个数据框中不匹配的行,请使用outer merge
:
df1.merge(df2, on='key', how='outer')