我有两个数据帧,它们都有相同的基本模式。(4个日期字段、几个字符串字段和4-5个浮点字段)。叫他们df1
和df2
。
我要做的基本上是得到两个数据帧的“diff”—在这里我得到两个数据帧之间不共享的所有行(不在集合交集中)。注意,这两个数据帧的长度不必相同。
我试着使用pandas.merge(how='outer')
但我不确定要将哪个列作为“键”传入,因为实际上没有一个列,而且我尝试的各种组合都不起作用df1
或df2
可能有两行(或更多)相同。
在pandas/Python中,有什么好的方法可以做到这一点?
最佳答案
IIUC:
您可以使用pd.Index.symmetric_difference
pd.concat([df1, df2]).loc[
df1.index.symmetric_difference(df2.index)
]