当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。