From d7e510e56fdae25476f89fa28fee6e13f40817cc Mon Sep 17 00:00:00 2001 From: ivanpan0626 Date: Fri, 6 Sep 2024 21:26:42 -0400 Subject: [PATCH 1/5] DOCS: fix docstring validation errors for pandas.core.groupby.DataFrameGroupBy.filter DOC string fix for both groupby.DataFrameGroupBy.filter and groupby.SeriesGroupBy.filter --- ci/code_checks.sh | 2 -- pandas/core/groupby/generic.py | 20 ++++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ci/code_checks.sh b/ci/code_checks.sh index 0714c6f74f0c2..440e39b398821 100755 --- a/ci/code_checks.sh +++ b/ci/code_checks.sh @@ -169,7 +169,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then -i "pandas.core.groupby.DataFrameGroupBy.agg RT03" \ -i "pandas.core.groupby.DataFrameGroupBy.aggregate RT03" \ -i "pandas.core.groupby.DataFrameGroupBy.boxplot PR07,RT03,SA01" \ - -i "pandas.core.groupby.DataFrameGroupBy.filter SA01" \ -i "pandas.core.groupby.DataFrameGroupBy.get_group RT03,SA01" \ -i "pandas.core.groupby.DataFrameGroupBy.groups SA01" \ -i "pandas.core.groupby.DataFrameGroupBy.hist RT03" \ @@ -185,7 +184,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then -i "pandas.core.groupby.SeriesGroupBy.__iter__ RT03,SA01" \ -i "pandas.core.groupby.SeriesGroupBy.agg RT03" \ -i "pandas.core.groupby.SeriesGroupBy.aggregate RT03" \ - -i "pandas.core.groupby.SeriesGroupBy.filter PR01,SA01" \ -i "pandas.core.groupby.SeriesGroupBy.get_group RT03,SA01" \ -i "pandas.core.groupby.SeriesGroupBy.groups SA01" \ -i "pandas.core.groupby.SeriesGroupBy.indices SA01" \ diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index c112d9b6a4b54..10399cfba5198 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -589,7 +589,7 @@ def _transform_general( result.name = self.obj.name return result - def filter(self, func, dropna: bool = True, *args, **kwargs): + def filter(self, func, dropna: bool = True, *args, **kwargs): #work """ Filter elements from groups that don't satisfy a criterion. @@ -600,15 +600,23 @@ def filter(self, func, dropna: bool = True, *args, **kwargs): ---------- func : function Criterion to apply to each group. Should return True or False. - dropna : bool + dropna : bool, optional Drop groups that do not pass the filter. True by default; if False, groups that evaluate False are filled with NaNs. + *args : tuple + Optional positional arguments to pass to `func`. + **kwargs : dict + Optional keyword arguments to pass to `func`. Returns ------- Series The filtered subset of the original Series. + See Also + -------- + groupby.DataFrameGroupBy.filter : Filter elements from groups that don’t satisfy a criterion, returns DataFrame. + Notes ----- Functions that mutate the passed object can produce unexpected @@ -1943,15 +1951,19 @@ def filter(self, func, dropna: bool = True, *args, **kwargs) -> DataFrame: dropna : bool Drop groups that do not pass the filter. True by default; if False, groups that evaluate False are filled with NaNs. - *args + *args : tuple Additional positional arguments to pass to `func`. - **kwargs + **kwargs : dict Additional keyword arguments to pass to `func`. Returns ------- DataFrame The filtered subset of the original DataFrame. + + See Also + -------- + groupby.SeriesGroupBy.filter : Filter elements from groups that don’t satisfy a criterion, returns Series. Notes ----- From e9aa61218498068380a4641787487d70415efd7a Mon Sep 17 00:00:00 2001 From: ivanpan0626 Date: Fri, 6 Sep 2024 22:25:54 -0400 Subject: [PATCH 2/5] Update generic.py --- pandas/core/groupby/generic.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 10399cfba5198..78025f8da5539 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -615,7 +615,7 @@ def filter(self, func, dropna: bool = True, *args, **kwargs): #work See Also -------- - groupby.DataFrameGroupBy.filter : Filter elements from groups that don’t satisfy a criterion, returns DataFrame. + DataFrameGroupBy.filter : Filter elements from groups that don't satisfy a criterion. Notes ----- @@ -1960,10 +1960,10 @@ def filter(self, func, dropna: bool = True, *args, **kwargs) -> DataFrame: ------- DataFrame The filtered subset of the original DataFrame. - + See Also -------- - groupby.SeriesGroupBy.filter : Filter elements from groups that don’t satisfy a criterion, returns Series. + SeriesGroupBy.filter : Filter elements from groups that don't satisfy a criterion. Notes ----- From 0eb788084345567a777d84eb196b83dd225a2751 Mon Sep 17 00:00:00 2001 From: ivanpan0626 Date: Fri, 6 Sep 2024 22:49:29 -0400 Subject: [PATCH 3/5] Update generic.py --- pandas/core/groupby/generic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 78025f8da5539..4978c5228ce4d 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -615,7 +615,7 @@ def filter(self, func, dropna: bool = True, *args, **kwargs): #work See Also -------- - DataFrameGroupBy.filter : Filter elements from groups that don't satisfy a criterion. + DataFrameGroupBy.filter : SeriesGroupBy.filter : Filter elements from groups base on criterion. Notes ----- @@ -1963,7 +1963,7 @@ def filter(self, func, dropna: bool = True, *args, **kwargs) -> DataFrame: See Also -------- - SeriesGroupBy.filter : Filter elements from groups that don't satisfy a criterion. + SeriesGroupBy.filter : Filter elements from groups base on criterion. Notes ----- From 48960785fe9e10cb763166054e3c7b05b8cd05f5 Mon Sep 17 00:00:00 2001 From: ivanpan0626 Date: Fri, 6 Sep 2024 22:54:10 -0400 Subject: [PATCH 4/5] Update generic.py --- pandas/core/groupby/generic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 4978c5228ce4d..a057f7bafa2e9 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -615,7 +615,7 @@ def filter(self, func, dropna: bool = True, *args, **kwargs): #work See Also -------- - DataFrameGroupBy.filter : SeriesGroupBy.filter : Filter elements from groups base on criterion. + DataFrameGroupBy.filter : Filter elements from groups base on criterion. Notes ----- From 9c4a1ddfa8eca803eed9722c4f7f4e887db45233 Mon Sep 17 00:00:00 2001 From: ivanpan0626 Date: Sat, 7 Sep 2024 00:11:58 -0400 Subject: [PATCH 5/5] quickfix --- pandas/core/groupby/generic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index a057f7bafa2e9..230f61bab96df 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -589,7 +589,7 @@ def _transform_general( result.name = self.obj.name return result - def filter(self, func, dropna: bool = True, *args, **kwargs): #work + def filter(self, func, dropna: bool = True, *args, **kwargs): """ Filter elements from groups that don't satisfy a criterion.