當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python cudf.testing.testing.assert_frame_equal用法及代碼示例

用法:

cudf.testing.testing.assert_frame_equal(left, right, check_dtype=True, check_index_type='equiv', check_column_type='equiv', check_frame_type=True, check_names=True, by_blocks=False, check_exact=False, check_datetimelike_compat=False, check_categorical=True, check_like=False, rtol=1e-05, atol=1e-08, obj='DataFrame')

檢查左右 DataFrame 是否相等

此函數旨在比較兩個 DataFrame 並輸出任何差異。附加參數允許改變執行的相等檢查的嚴格性。

參數

leftDataFrame

離開 DataFrame 進行比較

rightDataFrame

正確的 DataFrame 進行比較

check_dtype布爾值,默認為真

是否檢查 DataFrame dtype 是否相同。

check_index_typebool 或 {‘equiv’},默認 ‘equiv’

是否檢查Index類,dtype和inferred_type是否相同。

check_column_type布爾值,默認為真

是否檢查列類,dtype 和inferred_type 是否相同。目前它是空閑的,類似於 Pandas 。

check_frame_type布爾值,默認為真

是否檢查 DataFrame 類是否相同。

check_names布爾值,默認為真

是否檢查 DataFrame 的索引和列屬性的名稱屬性是否相同。

check_exact布爾值,默認為 False

是否準確比較數字。

by_blocks布爾值,默認為 False

不支持

check_exact布爾值,默認為 False

是否準確比較數字。

check_datetime_like_compat布爾值,默認為 False

比較 datetime-like 這是可比較的忽略 dtype。

check_categorical布爾值,默認為真

是否準確比較內部分類。

check_like布爾值,默認為 False

如果為 True,則忽略索引和列的順序。注意:索引標簽必須與它們各自的行匹配(與列相同) - 相同的標簽必須具有相同的數據。

rtol浮點數,默認 1e-5

相對容差。僅在 check_exact 為 False 時使用。

atol浮點數,默認 1e-8

絕對的寬容。僅在 check_exact 為 False 時使用。

objstr,默認“數據幀”

指定要比較的對象名稱,內部用於顯示適當的斷言消息。

例子

>>> import cudf
>>> df1 = cudf.DataFrame({"a":[1, 2], "b":[1.0, 2.0]}, index=[1, 2])
>>> df2 = cudf.DataFrame({"a":[1, 2], "b":[1.0, 2.0]}, index=[2, 3])
>>> cudf.testing.assert_frame_equal(df1, df2)
......
......
AssertionError: ColumnBase are different

values are different (100.0 %)
[left]:  [1 2]
[right]: [2 3]
>>> df2 = cudf.DataFrame({"a":[1, 2], "c":[1.0, 2.0]}, index=[1, 2])
>>> cudf.testing.assert_frame_equal(df1, df2)
......
......
AssertionError: DataFrame.columns are different

DataFrame.columns values are different (50.0 %)
[left]: Index(['a', 'b'], dtype='object')
right]: Index(['a', 'c'], dtype='object')
>>> df2 = cudf.DataFrame({"a":[1, 2], "b":[1.0, 3.0]}, index=[1, 2])
>>> cudf.testing.assert_frame_equal(df1, df2)
......
......
AssertionError: Column name="b" are different

values are different (50.0 %)
[left]:  [1. 2.]
[right]: [1. 3.]

這將順利通過:

>>> df2 = cudf.DataFrame({"a":[1, 2], "b":[1.0, 2.0]}, index=[1, 2])
>>> cudf.testing.assert_frame_equal(df1, df2)

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cudf.testing.testing.assert_frame_equal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。