Skip to content

assert_numpy_array_equal raises TypeError for pd.NA #31881

Closed
@WillAyd

Description

@WillAyd

Discovered in #31799

>>> arr1 = np.array([True, False])
>>> arr2 = np.array([True, pd.NA])
>>> tm.assert_numpy_array_equal(arr1, arr2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/williamayd/clones/pandas/pandas/_testing.py", line 1001, in assert_numpy_array_equal
    if not array_equivalent(left, right, strict_nan=strict_nan):
  File "/Users/williamayd/clones/pandas/pandas/core/dtypes/missing.py", line 447, in array_equivalent
    ensure_object(left.ravel()), ensure_object(right.ravel())
  File "pandas/_libs/lib.pyx", line 583, in pandas._libs.lib.array_equivalent_object
    raise
  File "pandas/_libs/lib.pyx", line 574, in pandas._libs.lib.array_equivalent_object
    elif not (PyObject_RichCompareBool(x, y, Py_EQ) or
  File "pandas/_libs/missing.pyx", line 360, in pandas._libs.missing.NAType.__bool__
    raise TypeError("boolean value of NA is ambiguous")
TypeError: boolean value of NA is ambiguous

Should yield an AssertionError instead of a TypeError

Metadata

Metadata

Assignees

No one assigned

    Labels

    Missing-datanp.nan, pd.NaT, pd.NA, dropna, isnull, interpolate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions