def test_0d(self):
     # verify our work around for pd.isnull not working for 0-dimensional
     # object arrays
     assert duck_array_ops.array_equiv(0, np.array(0, dtype=object))
     assert duck_array_ops.array_equiv(np.nan,
                                       np.array(np.nan, dtype=object))
     assert not duck_array_ops.array_equiv(0, np.array(1, dtype=object))
Beispiel #2
0
 def test_0d(self):
     # verify our work around for pd.isnull not working for 0-dimensional
     # object arrays
     assert duck_array_ops.array_equiv(0, np.array(0, dtype=object))
     assert duck_array_ops.array_equiv(np.nan,
                                       np.array(np.nan, dtype=object))
     assert not duck_array_ops.array_equiv(0, np.array(1, dtype=object))
Beispiel #3
0
def _data_allclose_or_equiv(arr1, arr2, rtol=1e-05, atol=1e-08, decode_bytes=True):
    if any(arr.dtype.kind == "S" for arr in [arr1, arr2]) and decode_bytes:
        arr1 = _decode_string_data(arr1)
        arr2 = _decode_string_data(arr2)
    exact_dtypes = ["M", "m", "O", "S", "U"]
    if any(arr.dtype.kind in exact_dtypes for arr in [arr1, arr2]):
        return duck_array_ops.array_equiv(arr1, arr2)
    else:
        return duck_array_ops.allclose_or_equiv(arr1, arr2, rtol=rtol, atol=atol)
Beispiel #4
0
def _data_allclose_or_equiv(arr1, arr2, rtol=1e-05, atol=1e-08,
                            decode_bytes=True):
    if any(arr.dtype.kind == 'S' for arr in [arr1, arr2]) and decode_bytes:
        arr1 = _decode_string_data(arr1)
        arr2 = _decode_string_data(arr2)
    exact_dtypes = ['M', 'm', 'O', 'U']
    if any(arr.dtype.kind in exact_dtypes for arr in [arr1, arr2]):
        return duck_array_ops.array_equiv(arr1, arr2)
    else:
        return duck_array_ops.allclose_or_equiv(
            arr1, arr2, rtol=rtol, atol=atol)
Beispiel #5
0
def assert_duckarray_equal(x, y, err_msg="", verbose=True):
    """Like `np.testing.assert_array_equal`, but for duckarrays"""
    __tracebackhide__ = True

    if not utils.is_duck_array(x) and not utils.is_scalar(x):
        x = np.asarray(x)

    if not utils.is_duck_array(y) and not utils.is_scalar(y):
        y = np.asarray(y)

    if (utils.is_duck_array(x)
            and utils.is_scalar(y)) or (utils.is_scalar(x)
                                        and utils.is_duck_array(y)):
        equiv = (x == y).all()
    else:
        equiv = duck_array_ops.array_equiv(x, y)
    assert equiv, _format_message(x, y, err_msg=err_msg, verbose=verbose)