Skip to content

Commit 0a4b246

Browse files
committed
BUG: Add SparseArray.any
1 parent efecfbe commit 0a4b246

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

pandas/compat/numpy/function.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,12 @@ def validate_cum_func_with_skipna(skipna, args, kwargs, name):
184184
return skipna
185185

186186

187-
ALL_DEFAULTS = OrderedDict()
188-
ALL_DEFAULTS['dtype'] = None
189-
ALL_DEFAULTS['out'] = None
190-
validate_all = CompatValidator(ALL_DEFAULTS, fname='all',
187+
ALLANY_DEFAULTS = OrderedDict()
188+
ALLANY_DEFAULTS['dtype'] = None
189+
ALLANY_DEFAULTS['out'] = None
190+
validate_all = CompatValidator(ALLANY_DEFAULTS, fname='all',
191+
method='both', max_fname_arg_count=1)
192+
validate_any = CompatValidator(ALLANY_DEFAULTS, fname='any',
191193
method='both', max_fname_arg_count=1)
192194

193195
LOGICAL_FUNC_DEFAULTS = dict(out=None)

pandas/core/sparse/array.py

+17
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,23 @@ def all(self, axis=0, *args, **kwargs):
631631

632632
return values.all()
633633

634+
def any(self, axis=0, *args, **kwargs):
635+
"""
636+
Tests whether at least one of elements evaluate True
637+
638+
Returns
639+
-------
640+
any : bool
641+
"""
642+
nv.validate_any(args, kwargs)
643+
644+
values = self.sp_values
645+
646+
if len(values) != len(self) and np.any(self.fill_value):
647+
return True
648+
649+
return values.any()
650+
634651
def sum(self, axis=0, *args, **kwargs):
635652
"""
636653
Sum of non-NA/null values

0 commit comments

Comments
 (0)