16
16
17
17
import numpy as np
18
18
import pandas as pd
19
- from numpy import all as array_all # noqa: F401
20
- from numpy import any as array_any # noqa: F401
21
19
from numpy import ( # noqa: F401
22
20
isclose ,
23
21
isnat ,
@@ -319,7 +317,7 @@ def allclose_or_equiv(arr1, arr2, rtol=1e-5, atol=1e-8):
319
317
if lazy_equiv is None :
320
318
with warnings .catch_warnings ():
321
319
warnings .filterwarnings ("ignore" , r"All-NaN (slice|axis) encountered" )
322
- return bool (isclose (arr1 , arr2 , rtol = rtol , atol = atol , equal_nan = True ). all ( ))
320
+ return bool (array_all ( isclose (arr1 , arr2 , rtol = rtol , atol = atol , equal_nan = True )))
323
321
else :
324
322
return lazy_equiv
325
323
@@ -333,7 +331,7 @@ def array_equiv(arr1, arr2):
333
331
with warnings .catch_warnings ():
334
332
warnings .filterwarnings ("ignore" , "In the future, 'NAT == x'" )
335
333
flag_array = (arr1 == arr2 ) | (isnull (arr1 ) & isnull (arr2 ))
336
- return bool (flag_array . all ( ))
334
+ return bool (array_all ( flag_array ))
337
335
else :
338
336
return lazy_equiv
339
337
@@ -349,7 +347,7 @@ def array_notnull_equiv(arr1, arr2):
349
347
with warnings .catch_warnings ():
350
348
warnings .filterwarnings ("ignore" , "In the future, 'NAT == x'" )
351
349
flag_array = (arr1 == arr2 ) | isnull (arr1 ) | isnull (arr2 )
352
- return bool (flag_array . all ( ))
350
+ return bool (array_all ( flag_array ))
353
351
else :
354
352
return lazy_equiv
355
353
@@ -536,6 +534,16 @@ def f(values, axis=None, skipna=None, **kwargs):
536
534
cumsum_1d .numeric_only = True
537
535
538
536
537
+ def array_all (array , axis = None , keepdims = False ):
538
+ xp = get_array_namespace (array )
539
+ return xp .all (array , axis = axis , keepdims = keepdims )
540
+
541
+
542
+ def array_any (array , axis = None , keepdims = False ):
543
+ xp = get_array_namespace (array )
544
+ return xp .any (array , axis = axis , keepdims = keepdims )
545
+
546
+
539
547
_mean = _create_nan_agg_method ("mean" , invariant_0d = True )
540
548
541
549
0 commit comments