From e15a1cea86d16a7add7190db952a386b5194836f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Haitz=20Legarreta=20Gorro=C3=B1o?= Date: Mon, 11 Oct 2021 17:00:31 -0400 Subject: [PATCH] BUG: Fix `skipna` default value in method signatures Set `skipna` default values to `True` so that the value matches the purpose of the variable and its docstring. --- pandas/core/generic.py | 56 +++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index b235f120d98c8..0e86a544f3435 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -10387,15 +10387,13 @@ def _stat_function_ddof( name: str, func, axis=None, - skipna=None, + skipna=True, level=None, ddof=1, numeric_only=None, **kwargs, ): nv.validate_stat_ddof_func((), kwargs, fname=name) - if skipna is None: - skipna = True if axis is None: axis = self._stat_axis_number if level is not None: @@ -10414,21 +10412,21 @@ def _stat_function_ddof( ) def sem( - self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs + self, axis=None, skipna=True, level=None, ddof=1, numeric_only=None, **kwargs ): return self._stat_function_ddof( "sem", nanops.nansem, axis, skipna, level, ddof, numeric_only, **kwargs ) def var( - self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs + self, axis=None, skipna=True, level=None, ddof=1, numeric_only=None, **kwargs ): return self._stat_function_ddof( "var", nanops.nanvar, axis, skipna, level, ddof, numeric_only, **kwargs ) def std( - self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs + self, axis=None, skipna=True, level=None, ddof=1, numeric_only=None, **kwargs ): return self._stat_function_ddof( "std", nanops.nanstd, axis, skipna, level, ddof, numeric_only, **kwargs @@ -10440,7 +10438,7 @@ def _stat_function( name: str, func, axis=None, - skipna=None, + skipna=True, level=None, numeric_only=None, **kwargs, @@ -10449,8 +10447,6 @@ def _stat_function( nv.validate_median((), kwargs) else: nv.validate_stat_func((), kwargs, fname=name) - if skipna is None: - skipna = True if axis is None: axis = self._stat_axis_number if level is not None: @@ -10468,32 +10464,32 @@ def _stat_function( func, name=name, axis=axis, skipna=skipna, numeric_only=numeric_only ) - def min(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def min(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return self._stat_function( "min", nanops.nanmin, axis, skipna, level, numeric_only, **kwargs ) - def max(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def max(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return self._stat_function( "max", nanops.nanmax, axis, skipna, level, numeric_only, **kwargs ) - def mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def mean(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return self._stat_function( "mean", nanops.nanmean, axis, skipna, level, numeric_only, **kwargs ) - def median(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def median(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return self._stat_function( "median", nanops.nanmedian, axis, skipna, level, numeric_only, **kwargs ) - def skew(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def skew(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return self._stat_function( "skew", nanops.nanskew, axis, skipna, level, numeric_only, **kwargs ) - def kurt(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def kurt(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return self._stat_function( "kurt", nanops.nankurt, axis, skipna, level, numeric_only, **kwargs ) @@ -10506,7 +10502,7 @@ def _min_count_stat_function( name: str, func, axis=None, - skipna=None, + skipna=True, level=None, numeric_only=None, min_count=0, @@ -10518,8 +10514,6 @@ def _min_count_stat_function( nv.validate_prod((), kwargs) else: nv.validate_stat_func((), kwargs, fname=name) - if skipna is None: - skipna = True if axis is None: axis = self._stat_axis_number if level is not None: @@ -10550,7 +10544,7 @@ def _min_count_stat_function( def sum( self, axis=None, - skipna=None, + skipna=True, level=None, numeric_only=None, min_count=0, @@ -10563,7 +10557,7 @@ def sum( def prod( self, axis=None, - skipna=None, + skipna=True, level=None, numeric_only=None, min_count=0, @@ -10690,7 +10684,7 @@ def mad(self, axis=None, skipna=None, level=None): def sem( self, axis=None, - skipna=None, + skipna=True, level=None, ddof=1, numeric_only=None, @@ -10712,7 +10706,7 @@ def sem( def var( self, axis=None, - skipna=None, + skipna=True, level=None, ddof=1, numeric_only=None, @@ -10735,7 +10729,7 @@ def var( def std( self, axis=None, - skipna=None, + skipna=True, level=None, ddof=1, numeric_only=None, @@ -10815,7 +10809,7 @@ def cumprod(self, axis=None, skipna=True, *args, **kwargs): def sum( self, axis=None, - skipna=None, + skipna=True, level=None, numeric_only=None, min_count=0, @@ -10840,7 +10834,7 @@ def sum( def prod( self, axis=None, - skipna=None, + skipna=True, level=None, numeric_only=None, min_count=0, @@ -10863,7 +10857,7 @@ def prod( see_also="", examples="", ) - def mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def mean(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return NDFrame.mean(self, axis, skipna, level, numeric_only, **kwargs) setattr(cls, "mean", mean) @@ -10878,7 +10872,7 @@ def mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): see_also="", examples="", ) - def skew(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def skew(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return NDFrame.skew(self, axis, skipna, level, numeric_only, **kwargs) setattr(cls, "skew", skew) @@ -10896,7 +10890,7 @@ def skew(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): see_also="", examples="", ) - def kurt(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def kurt(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return NDFrame.kurt(self, axis, skipna, level, numeric_only, **kwargs) setattr(cls, "kurt", kurt) @@ -10913,7 +10907,7 @@ def kurt(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): examples="", ) def median( - self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs + self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs ): return NDFrame.median(self, axis, skipna, level, numeric_only, **kwargs) @@ -10931,7 +10925,7 @@ def median( see_also=_stat_func_see_also, examples=_max_examples, ) - def max(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def max(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return NDFrame.max(self, axis, skipna, level, numeric_only, **kwargs) setattr(cls, "max", max) @@ -10948,7 +10942,7 @@ def max(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): see_also=_stat_func_see_also, examples=_min_examples, ) - def min(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs): + def min(self, axis=None, skipna=True, level=None, numeric_only=None, **kwargs): return NDFrame.min(self, axis, skipna, level, numeric_only, **kwargs) setattr(cls, "min", min)