我有两个数据帧,它们都具有相同的基本架构. (4个日期字段,几个字符串字段和4-5个浮点字段).称他们为df1和df2.
我想要做的是基本上得到两者的“差异” – 我在那里找回两个数据帧之间没有共享的所有行(不在集合交集中).注意,两个数据帧的长度不必相同.
我尝试使用pandas.merge(how =’outer’),但我不确定要传递哪个列作为’key’,因为实际上没有一个,我试过的各种组合都不起作用. df1或df2可能有两个(或更多)相同的行.
在pandas / Python中执行此操作的好方法是什么?
解决方法:
IIUC:
您可以使用pd.Index.symmetric_difference
pd.concat([df1, df2]).loc[
df1.index.symmetric_difference(df2.index)
]