python - Pandas 中两个数据框之间的差异

标签 python pandas merge compare diff

我有两个数据框,它们都具有相同的基本架构。 (4 个日期字段、几个字符串字段和 4-5 个浮点字段)。称它们为 df1df2

我想做的基本上是获得两者的“差异”——我在其中返回所有未在两个数据帧之间共享的行(不在集合交集中)。请注意,两个数据帧的长度不必相同。

我尝试使用 pandas.merge(how='outer') 但我不确定要传递哪一列作为“键”,因为确实没有一个,而且我有各种组合试过没有用。 df1df2 可能有两行(或更多行)相同。

在 pandas/Python 中执行此操作的好方法是什么?

最佳答案

试试这个:

diff_df = pd.merge(df1, df2, how='outer', indicator='Exist')

diff_df = diff_df.loc[diff_df['Exist'] != 'both']

您将拥有 df1 和 df2 上都不存在的所有行的数据框。

关于python - Pandas 中两个数据框之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47131361/

相关文章:

python - 将单位与 Pandas DataFrame 关联

python - 如何在 matplotlib 中的 Pandas 条形图上添加一条线?

git - merge 两个分支和 Git 历史

rest - 不支持 SharePoint Online 合并

python - 从python中的文件中读取整数

python - 为什么这个用于分布式计算的 Python 0MQ 脚本会在固定输入大小时挂起?

python - 使用 Regex 在 Python 中的两个字符串之间更改文本

python - 如何从整个 DataFrame 中删除或删除第一次出现 `NaN` 后的所有行

Python Pandas : Merge or Filter DataFrame by Another. 有没有更好的方法?

python - 如果在单个RUN部分中安装了pip并将其更​​新为10.0.1,则Docker构建失败