diff --git a/pint_pandas/pint_array.py b/pint_pandas/pint_array.py index df5ed65..082071e 100644 --- a/pint_pandas/pint_array.py +++ b/pint_pandas/pint_array.py @@ -350,6 +350,8 @@ def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): return self._convert_np_result(result) def _convert_np_result(self, result): + if isinstance(result, bool): + return result if isinstance(result, _Quantity) and is_list_like(result.m): if hasattr(result, "ndim") and result.ndim >= 2: raise ValueError("PintArrays may only be 1D, check axis arguement") diff --git a/pint_pandas/testsuite/test_issues.py b/pint_pandas/testsuite/test_issues.py index 3ea07eb..19b224a 100644 --- a/pint_pandas/testsuite/test_issues.py +++ b/pint_pandas/testsuite/test_issues.py @@ -313,7 +313,7 @@ def test_issue246(self): df.apply(lambda x: x * 2, axis=1) -class TestIssue255(BaseExtensionTests): +class TestArrayFunction(BaseExtensionTests): def test_issue255(self): a = np.r_[1, 2, np.nan, 4, 10] pa = PintArray.from_1darray_quantity(a * ureg.m) @@ -324,3 +324,11 @@ def test_issue255(self): expected = PintArray.from_1darray_quantity(e * ureg.m) tm.assert_equal(result, expected) + + def test_issue108(self): + pa1 = pa2 = PintArray([1, 45, -4.5], "m") + + result = np.allclose(pa1, pa2) + expected = True + + assert result == expected