Python:比較兩個dataframe是否相等

太久沒更新,營養要跟不上了。

別寫df1 == df2(這是逐個元素相比較)。

要寫assert_frame_equal。不僅能比較兩個df是否相等,還能告訴你哪裏不一樣。

assert_frame_equal是比較兩個df是否完全一模一樣。index都要一樣!

import pandas as pd
import numpy as np
from pandas.testing import assert_frame_equal

df1 = pd.DataFrame(np.arange(12).reshape(3, -1))
df2 = pd.DataFrame(np.arange(12).reshape(3, -1))

df1 == df2

assert_frame_equal(df1, df2)

沒有問題。

換一個df3,2行1列的元素和df1不一樣/

報錯啦。

還會比較index

 

如果要忽略index的比較,是不是可以考慮新建2個df,index自動一樣了…

相關API:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.testing.assert_frame_equal.html

pandas.testing.assert_frame_equal(leftrightcheck_dtype=Truecheck_index_type='equiv'check_column_type='equiv'check_frame_type=Truecheck_less_precise=Falsecheck_names=Trueby_blocks=Falsecheck_exact=Falsecheck_datetimelike_compat=Falsecheck_categorical=Truecheck_like=Falseobj='DataFrame')

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章