合并数据框,突出显示有问题的列

时间:2019-05-02 12:38:02

标签: python python-3.x pandas

我正在尝试合并两个数据帧,以查找导致合并错误的值。大多数列在两个数据帧中并不通用。

以下内容突出显示哪些行具有“ NaN”值,然后如何查找导致合并问题的列?谢谢

df3 = pd.merge(df1, df2, how='outer')
df4 = (df3[df3.isnull().any(axis=1)])

1 个答案:

答案 0 :(得分:0)

很难从问题中分辨出来,但问题表明pd.merge(df1, df2, on=None, how='outer')

如果on为None且未在索引上合并,则默认为两个DataFrame中列的交集。

这意味着两个DataFrame中的列交点最好具有相同的类型。否则,将发生错误,指示类型问题。

ValueError: You are trying to merge on int64 and object columns. If you wish to proceed you should use pd.concat

假定类型冲突影响外部联接,则应检查相交列类型之间的差异。

dtypes_diff = pd.concat([df1.dtypes,df2.dtypes]).drop_duplicates(keep=False)