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

最佳答案

IIUC:
您可以使用pd.Index.symmetric_difference

pd.concat([df1, df2]).loc[
    df1.index.symmetric_difference(df2.index)
]

07-24 12:34