Skip to content

DOC: fix RT03 errors in docstrings  #57416

Closed
@jordan-d-murphy

Description

@jordan-d-murphy

Pandas has a script for validating docstrings:

pandas/ci/code_checks.sh

Lines 144 to 414 in 44c50b2

MSG='Partially validate docstrings (RT03)' ; echo $MSG
$BASE_DIR/scripts/validate_docstrings.py --format=actions --errors=RT03 --ignore_functions \
pandas.Index.to_numpy\
pandas.Categorical.set_categories\
pandas.CategoricalIndex.set_categories\
pandas.DataFrame.astype\
pandas.DataFrame.at_time\
pandas.DataFrame.ewm\
pandas.DataFrame.expanding\
pandas.DataFrame.filter\
pandas.DataFrame.first_valid_index\
pandas.DataFrame.get\
pandas.DataFrame.hist\
pandas.DataFrame.infer_objects\
pandas.DataFrame.kurt\
pandas.DataFrame.kurtosis\
pandas.DataFrame.last_valid_index\
pandas.DataFrame.mask\
pandas.DataFrame.max\
pandas.DataFrame.mean\
pandas.DataFrame.median\
pandas.DataFrame.min\
pandas.DataFrame.nsmallest\
pandas.DataFrame.nunique\
pandas.DataFrame.pipe\
pandas.DataFrame.plot.box\
pandas.DataFrame.plot.density\
pandas.DataFrame.plot.kde\
pandas.DataFrame.plot.scatter\
pandas.DataFrame.pop\
pandas.DataFrame.prod\
pandas.DataFrame.product\
pandas.DataFrame.reindex\
pandas.DataFrame.reorder_levels\
pandas.DataFrame.sem\
pandas.DataFrame.skew\
pandas.DataFrame.std\
pandas.DataFrame.sum\
pandas.DataFrame.swapaxes\
pandas.DataFrame.to_numpy\
pandas.DataFrame.to_orc\
pandas.DataFrame.to_parquet\
pandas.DataFrame.unstack\
pandas.DataFrame.value_counts\
pandas.DataFrame.var\
pandas.DataFrame.where\
pandas.DatetimeIndex.indexer_at_time\
pandas.DatetimeIndex.indexer_between_time\
pandas.DatetimeIndex.snap\
pandas.DatetimeIndex.std\
pandas.DatetimeIndex.to_period\
pandas.DatetimeIndex.to_pydatetime\
pandas.DatetimeIndex.tz_convert\
pandas.HDFStore.info\
pandas.Index.append\
pandas.Index.difference\
pandas.Index.drop_duplicates\
pandas.Index.droplevel\
pandas.Index.dropna\
pandas.Index.duplicated\
pandas.Index.fillna\
pandas.Index.get_loc\
pandas.Index.insert\
pandas.Index.intersection\
pandas.Index.join\
pandas.Index.memory_usage\
pandas.Index.nunique\
pandas.Index.putmask\
pandas.Index.ravel\
pandas.Index.slice_indexer\
pandas.Index.slice_locs\
pandas.Index.symmetric_difference\
pandas.Index.to_list\
pandas.Index.union\
pandas.Index.unique\
pandas.Index.value_counts\
pandas.IntervalIndex.contains\
pandas.IntervalIndex.get_loc\
pandas.IntervalIndex.set_closed\
pandas.IntervalIndex.to_tuples\
pandas.MultiIndex.copy\
pandas.MultiIndex.drop\
pandas.MultiIndex.droplevel\
pandas.MultiIndex.remove_unused_levels\
pandas.MultiIndex.reorder_levels\
pandas.MultiIndex.set_levels\
pandas.MultiIndex.to_frame\
pandas.PeriodIndex.to_timestamp\
pandas.Series.__iter__\
pandas.Series.astype\
pandas.Series.at_time\
pandas.Series.case_when\
pandas.Series.cat.set_categories\
pandas.Series.dt.to_period\
pandas.Series.dt.tz_convert\
pandas.Series.ewm\
pandas.Series.expanding\
pandas.Series.filter\
pandas.Series.first_valid_index\
pandas.Series.get\
pandas.Series.infer_objects\
pandas.Series.kurt\
pandas.Series.kurtosis\
pandas.Series.last_valid_index\
pandas.Series.mask\
pandas.Series.max\
pandas.Series.mean\
pandas.Series.median\
pandas.Series.min\
pandas.Series.nunique\
pandas.Series.pipe\
pandas.Series.plot.box\
pandas.Series.plot.density\
pandas.Series.plot.kde\
pandas.Series.pop\
pandas.Series.prod\
pandas.Series.product\
pandas.Series.reindex\
pandas.Series.reorder_levels\
pandas.Series.sem\
pandas.Series.skew\
pandas.Series.sparse.to_coo\
pandas.Series.std\
pandas.Series.str.capitalize\
pandas.Series.str.casefold\
pandas.Series.str.center\
pandas.Series.str.decode\
pandas.Series.str.encode\
pandas.Series.str.find\
pandas.Series.str.fullmatch\
pandas.Series.str.get\
pandas.Series.str.index\
pandas.Series.str.ljust\
pandas.Series.str.lower\
pandas.Series.str.lstrip\
pandas.Series.str.match\
pandas.Series.str.normalize\
pandas.Series.str.partition\
pandas.Series.str.rfind\
pandas.Series.str.rindex\
pandas.Series.str.rjust\
pandas.Series.str.rpartition\
pandas.Series.str.rstrip\
pandas.Series.str.strip\
pandas.Series.str.swapcase\
pandas.Series.str.title\
pandas.Series.str.translate\
pandas.Series.str.upper\
pandas.Series.str.wrap\
pandas.Series.str.zfill\
pandas.Series.sum\
pandas.Series.to_list\
pandas.Series.to_numpy\
pandas.Series.to_timestamp\
pandas.Series.value_counts\
pandas.Series.var\
pandas.Series.where\
pandas.TimedeltaIndex.as_unit\
pandas.TimedeltaIndex.to_pytimedelta\
pandas.api.extensions.ExtensionArray._accumulate\
pandas.api.extensions.ExtensionArray._hash_pandas_object\
pandas.api.extensions.ExtensionArray._pad_or_backfill\
pandas.api.extensions.ExtensionArray._reduce\
pandas.api.extensions.ExtensionArray.copy\
pandas.api.extensions.ExtensionArray.dropna\
pandas.api.extensions.ExtensionArray.duplicated\
pandas.api.extensions.ExtensionArray.insert\
pandas.api.extensions.ExtensionArray.isin\
pandas.api.extensions.ExtensionArray.ravel\
pandas.api.extensions.ExtensionArray.take\
pandas.api.extensions.ExtensionArray.tolist\
pandas.api.extensions.ExtensionArray.unique\
pandas.api.interchange.from_dataframe\
pandas.api.types.is_hashable\
pandas.api.types.pandas_dtype\
pandas.api.types.union_categoricals\
pandas.arrays.IntervalArray.contains\
pandas.arrays.IntervalArray.set_closed\
pandas.arrays.IntervalArray.to_tuples\
pandas.bdate_range\
pandas.core.groupby.DataFrameGroupBy.__iter__\
pandas.core.groupby.DataFrameGroupBy.agg\
pandas.core.groupby.DataFrameGroupBy.aggregate\
pandas.core.groupby.DataFrameGroupBy.apply\
pandas.core.groupby.DataFrameGroupBy.boxplot\
pandas.core.groupby.DataFrameGroupBy.cummax\
pandas.core.groupby.DataFrameGroupBy.cummin\
pandas.core.groupby.DataFrameGroupBy.cumprod\
pandas.core.groupby.DataFrameGroupBy.cumsum\
pandas.core.groupby.DataFrameGroupBy.filter\
pandas.core.groupby.DataFrameGroupBy.get_group\
pandas.core.groupby.DataFrameGroupBy.hist\
pandas.core.groupby.DataFrameGroupBy.mean\
pandas.core.groupby.DataFrameGroupBy.nunique\
pandas.core.groupby.DataFrameGroupBy.rank\
pandas.core.groupby.DataFrameGroupBy.resample\
pandas.core.groupby.DataFrameGroupBy.skew\
pandas.core.groupby.DataFrameGroupBy.transform\
pandas.core.groupby.SeriesGroupBy.__iter__\
pandas.core.groupby.SeriesGroupBy.agg\
pandas.core.groupby.SeriesGroupBy.aggregate\
pandas.core.groupby.SeriesGroupBy.apply\
pandas.core.groupby.SeriesGroupBy.cummax\
pandas.core.groupby.SeriesGroupBy.cummin\
pandas.core.groupby.SeriesGroupBy.cumprod\
pandas.core.groupby.SeriesGroupBy.cumsum\
pandas.core.groupby.SeriesGroupBy.filter\
pandas.core.groupby.SeriesGroupBy.get_group\
pandas.core.groupby.SeriesGroupBy.mean\
pandas.core.groupby.SeriesGroupBy.rank\
pandas.core.groupby.SeriesGroupBy.resample\
pandas.core.groupby.SeriesGroupBy.skew\
pandas.core.groupby.SeriesGroupBy.transform\
pandas.core.resample.Resampler.__iter__\
pandas.core.resample.Resampler.ffill\
pandas.core.resample.Resampler.get_group\
pandas.core.resample.Resampler.max\
pandas.core.resample.Resampler.min\
pandas.core.resample.Resampler.transform\
pandas.date_range\
pandas.interval_range\
pandas.io.formats.style.Styler.apply\
pandas.io.formats.style.Styler.apply_index\
pandas.io.formats.style.Styler.background_gradient\
pandas.io.formats.style.Styler.bar\
pandas.io.formats.style.Styler.concat\
pandas.io.formats.style.Styler.export\
pandas.io.formats.style.Styler.format\
pandas.io.formats.style.Styler.format_index\
pandas.io.formats.style.Styler.hide\
pandas.io.formats.style.Styler.highlight_between\
pandas.io.formats.style.Styler.highlight_max\
pandas.io.formats.style.Styler.highlight_min\
pandas.io.formats.style.Styler.highlight_null\
pandas.io.formats.style.Styler.highlight_quantile\
pandas.io.formats.style.Styler.map\
pandas.io.formats.style.Styler.map_index\
pandas.io.formats.style.Styler.relabel_index\
pandas.io.formats.style.Styler.set_caption\
pandas.io.formats.style.Styler.set_properties\
pandas.io.formats.style.Styler.set_sticky\
pandas.io.formats.style.Styler.set_table_attributes\
pandas.io.formats.style.Styler.set_table_styles\
pandas.io.formats.style.Styler.set_td_classes\
pandas.io.formats.style.Styler.set_tooltips\
pandas.io.formats.style.Styler.set_uuid\
pandas.io.formats.style.Styler.text_gradient\
pandas.io.formats.style.Styler.use\
pandas.io.json.build_table_schema\
pandas.io.stata.StataReader.value_labels\
pandas.io.stata.StataReader.variable_labels\
pandas.json_normalize\
pandas.merge_asof\
pandas.period_range\
pandas.plotting.andrews_curves\
pandas.plotting.autocorrelation_plot\
pandas.plotting.lag_plot\
pandas.plotting.parallel_coordinates\
pandas.plotting.radviz\
pandas.plotting.table\
pandas.read_feather\
pandas.read_orc\
pandas.read_sas\
pandas.read_spss\
pandas.read_sql\
pandas.read_sql_query\
pandas.read_stata\
pandas.set_eng_float_format\
pandas.timedelta_range\
pandas.util.hash_pandas_object # There should be no backslash in the final line, please keep this comment in the last ignored function
RET=$(($RET + $?)) ; echo $MSG "DONE"

Currently, some methods fail the RT03 check.

The task here is:

  1. take 2-4 methods
  2. run: scripts/validate_docstrings.py --format=actions --errors=RT03 method-name
  3. check if validation docstrings passes for those methods, and if it’s necessary fix the docstrings according to whatever error is reported
  4. remove those methods from code_checks.sh
  5. commit, push, open pull request

Please don't comment take as multiple people can work on this issue. You also don't need to ask for permission to work on this, just comment on which methods are you going to work.

If you're new contributor, please check the contributing guide

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions