Skip to content

Commit 9250bf7

Browse files
DOC: Enforce Numpy Docstring Validation for pandas.DataFrame.sem (#58513)
* DOC: add PR01,RT03,SA01 in pandas.DataFrame.sem * DOC: remove PR01,RT03,SA01 in pandas.DataFrame.sem
1 parent 564d0d9 commit 9250bf7

File tree

2 files changed

+70
-2
lines changed

2 files changed

+70
-2
lines changed

ci/code_checks.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
7575
-i "pandas.DataFrame.median RT03,SA01" \
7676
-i "pandas.DataFrame.min RT03" \
7777
-i "pandas.DataFrame.plot PR02,SA01" \
78-
-i "pandas.DataFrame.sem PR01,RT03,SA01" \
7978
-i "pandas.DataFrame.std PR01,RT03,SA01" \
8079
-i "pandas.DataFrame.sum RT03" \
8180
-i "pandas.DataFrame.swaplevel SA01" \

pandas/core/frame.py

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11945,7 +11945,6 @@ def sem(
1194511945
) -> Series | Any: ...
1194611946

1194711947
@deprecate_nonkeyword_arguments(version="3.0", allowed_args=["self"], name="sem")
11948-
@doc(make_doc("sem", ndim=2))
1194911948
def sem(
1195011949
self,
1195111950
axis: Axis | None = 0,
@@ -11954,6 +11953,76 @@ def sem(
1195411953
numeric_only: bool = False,
1195511954
**kwargs,
1195611955
) -> Series | Any:
11956+
"""
11957+
Return unbiased standard error of the mean over requested axis.
11958+
11959+
Normalized by N-1 by default. This can be changed using the ddof argument
11960+
11961+
Parameters
11962+
----------
11963+
axis : {index (0), columns (1)}
11964+
For `Series` this parameter is unused and defaults to 0.
11965+
11966+
.. warning::
11967+
11968+
The behavior of DataFrame.sem with ``axis=None`` is deprecated,
11969+
in a future version this will reduce over both axes and return a scalar
11970+
To retain the old behavior, pass axis=0 (or do not pass axis).
11971+
11972+
skipna : bool, default True
11973+
Exclude NA/null values. If an entire row/column is NA, the result
11974+
will be NA.
11975+
ddof : int, default 1
11976+
Delta Degrees of Freedom. The divisor used in calculations is N - ddof,
11977+
where N represents the number of elements.
11978+
numeric_only : bool, default False
11979+
Include only float, int, boolean columns. Not implemented for Series.
11980+
**kwargs :
11981+
Additional keywords passed.
11982+
11983+
Returns
11984+
-------
11985+
Series or DataFrame (if level specified)
11986+
Unbiased standard error of the mean over requested axis.
11987+
11988+
See Also
11989+
--------
11990+
DataFrame.var : Return unbiased variance over requested axis.
11991+
DataFrame.std : Returns sample standard deviation over requested axis.
11992+
11993+
Examples
11994+
--------
11995+
>>> s = pd.Series([1, 2, 3])
11996+
>>> s.sem().round(6)
11997+
0.57735
11998+
11999+
With a DataFrame
12000+
12001+
>>> df = pd.DataFrame({"a": [1, 2], "b": [2, 3]}, index=["tiger", "zebra"])
12002+
>>> df
12003+
a b
12004+
tiger 1 2
12005+
zebra 2 3
12006+
>>> df.sem()
12007+
a 0.5
12008+
b 0.5
12009+
dtype: float64
12010+
12011+
Using axis=1
12012+
12013+
>>> df.sem(axis=1)
12014+
tiger 0.5
12015+
zebra 0.5
12016+
dtype: float64
12017+
12018+
In this case, `numeric_only` should be set to `True`
12019+
to avoid getting an error.
12020+
12021+
>>> df = pd.DataFrame({"a": [1, 2], "b": ["T", "Z"]}, index=["tiger", "zebra"])
12022+
>>> df.sem(numeric_only=True)
12023+
a 0.5
12024+
dtype: float64
12025+
"""
1195712026
result = super().sem(
1195812027
axis=axis, skipna=skipna, ddof=ddof, numeric_only=numeric_only, **kwargs
1195912028
)

0 commit comments

Comments
 (0)