Python熊猫-比较两个数据帧之间的差异

Python熊猫-比较两个数据帧之间的差异,python,arrays,pandas,numpy,dataframe,Python,Arrays,Pandas,Numpy,Dataframe,我正在创建一个python应用程序,尝试比较两个数据帧以确定差异。下面是我面临问题的一段代码。我在下面一行中遇到了一个问题,当它试图比较NaN和String/int时 不同=(a0!=a1) 错误: TypeError:无法更改对象数组的数据类型 代码: df0 = Excel1.parse(sheet) df1 = Excel2.parse(sheet) a0, a1 = (df0.fillna('0')).align(df1.fillna('0')) different = (a0 != a

我正在创建一个python应用程序,尝试比较两个数据帧以确定差异。下面是我面临问题的一段代码。我在下面一行中遇到了一个问题,当它试图比较NaN和String/int时

不同=(a0!=a1)

错误:

TypeError:无法更改对象数组的数据类型

代码:

df0 = Excel1.parse(sheet)
df1 = Excel2.parse(sheet)
a0, a1 = (df0.fillna('0')).align(df1.fillna('0'))
different = (a0 != a1)
comp = a0[different].join(a1[different], lsuffix='_old', rsuffix='_new')

可以使用
a0=df0.values
a1=df1.values
将数据帧转换为numpy数组;然后您将有两个矩阵
a0,a1
;要查找具有不同值的单元格,可以使用
np.where(a0!=a1)
。显然,在进行比较之前,您可能希望使用
np.isnan()
np.isnf()
清理数据

似乎没有任何一个数组只有整数。如果这是真的,请参阅确保两个数组的类型相同,然后再进行比较

`

请看精彩的答案。