2017-02-21 136 views
0

我正在創建一個python應用程序,我試圖比較兩個數據幀來識別差異。下面給出了我面臨問題的那段代碼。我面臨的一個問題,在下面的線,當它試圖楠字符串/ INTPython熊貓 - 比較兩個數據幀的差異

不同=之間比較

錯誤(A0 = A1!):

類型錯誤:不能改變數據類型爲對象陣列

代碼:

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') 
+0

見偉大的答案[這裏](http://stackoverflow.com/questions/17095101/outputting-difference-in-two-pandas-dataframes-side-by-side-highlighting-the-d )。 – Parfait

回答

0

可以使用a0=df0.valuesa1=df1.values將數據幀轉換爲numpy數組;那麼你將有兩個矩陣a0, a1;要找到具有不同值的單元格,可以使用np.where(a0 != a1)。顯然,在比較之前,您可能需要使用np.isnan()np.isnf()清理數據。

它似乎沒有任何一個數組只有整數。如果是這樣,請參閱here以確保在進行比較之前兩個數組的類型相同。

`