Skip to content

DOC: Fixes PR01, PR02 for Series.cat and Series.dt #58912

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions ci/code_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -130,31 +130,11 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
-i "pandas.RangeIndex.start SA01" \
-i "pandas.RangeIndex.step SA01" \
-i "pandas.RangeIndex.stop SA01" \
-i "pandas.Series.cat.add_categories PR01,PR02" \
-i "pandas.Series.cat.as_ordered PR01" \
-i "pandas.Series.cat.as_unordered PR01" \
-i "pandas.Series.cat.remove_categories PR01,PR02" \
-i "pandas.Series.cat.remove_unused_categories PR01" \
-i "pandas.Series.cat.rename_categories PR01,PR02" \
-i "pandas.Series.cat.reorder_categories PR01,PR02" \
-i "pandas.Series.cat.set_categories PR01,PR02" \
-i "pandas.Series.dt.as_unit PR01,PR02" \
-i "pandas.Series.dt.ceil PR01,PR02" \
-i "pandas.Series.dt.day_name PR01,PR02" \
-i "pandas.Series.dt.floor PR01,PR02" \
-i "pandas.Series.dt.freq GL08" \
-i "pandas.Series.dt.microseconds SA01" \
-i "pandas.Series.dt.month_name PR01,PR02" \
-i "pandas.Series.dt.nanoseconds SA01" \
-i "pandas.Series.dt.normalize PR01" \
-i "pandas.Series.dt.qyear GL08" \
-i "pandas.Series.dt.round PR01,PR02" \
-i "pandas.Series.dt.seconds SA01" \
-i "pandas.Series.dt.strftime PR01,PR02" \
-i "pandas.Series.dt.to_period PR01,PR02" \
-i "pandas.Series.dt.total_seconds PR01" \
-i "pandas.Series.dt.tz_convert PR01,PR02" \
-i "pandas.Series.dt.tz_localize PR01,PR02" \
-i "pandas.Series.dt.unit GL08" \
-i "pandas.Series.ge SA01" \
-i "pandas.Series.gt SA01" \
Expand Down
26 changes: 26 additions & 0 deletions scripts/validate_docstrings.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,32 @@ def pandas_validate(func_name: str):
dict
Information about the docstring and the errors found.
"""

def _get_delegated_func_name(func_name: str) -> str:
method_name = func_name.rsplit(".", 1)[-1]

if "Series.cat" in func_name:
return "pandas.core.arrays.categorical.Categorical." + method_name
if "Series.dt" in func_name:
if method_name in ["as_unit", "ceil", "floor", "round"]:
return "pandas.core.arrays.datetimelike.TimelikeOps." + method_name
if method_name in [
"day_name",
"month_name",
"normalize",
"to_period",
"tz_convert",
"tz_localize"
]:
return "pandas.core.arrays.datetimes.DatetimeArray." + method_name
if method_name in ["strftime"]:
return "pandas.core.arrays.datetimelike.DatelikeOps." + method_name
if method_name in ["total_seconds"]:
return "pandas.core.arrays.timedeltas.TimedeltaArray." + method_name

return func_name

func_name = _get_delegated_func_name(func_name)
func_obj = Validator._load_obj(func_name)
# Some objects are instances, e.g. IndexSlice, which numpydoc can't validate
doc_obj = get_doc_object(func_obj, doc=func_obj.__doc__)
Expand Down