pandas.DataFrame.std#

DataFrame.std(*, axis=0, skipna=True, ddof=1, numeric_only=False, =**kwargs)[源代码]#

返回请求轴上的样本标准差。

默认情况下按 N-1 进行归一化。这可以通过 ddof 参数进行更改。

参数:
axis{索引 (0), 列 (1)}

对于 Series,此参数未使用,默认为 0。

警告

DataFrame.std 结合 axis=None 的行为已被弃用,在未来版本中,它将跨越两个轴并返回一个标量。要保留旧行为,请传递 axis=0(或不传递 axis)。

skipnabool, 默认 True

排除 NA/null 值。如果整行/整列均为 NA,则结果为 NA。

ddofint, 默认值 1

自由度差值。计算中使用的除数是 N - ddof,其中 N 代表元素数量。

numeric_onlybool, default False

仅包含浮点、整数、布尔列。未为 Series 实现。

**kwargsdict

要传递给函数的其他关键字参数。

返回:
Series 或标量

沿请求的轴计算标准差。

另请参阅

Series.std

返回 Series 值上的标准差。

DataFrame.mean

返回所请求轴上值的平均值。

DataFrame.median

返回所请求轴上值的中间值。

DataFrame.mode

获取沿请求轴的每个元素的值(众数)。

DataFrame.sum

返回请求轴上的值之和。

注意

要获得与 numpy.std 相同的行为,请使用 ddof=0(而不是默认的 ddof=1)。

示例

>>> df = pd.DataFrame(
...     {
...         "person_id": [0, 1, 2, 3],
...         "age": [21, 25, 62, 43],
...         "height": [1.61, 1.87, 1.49, 2.01],
...     }
... ).set_index("person_id")
>>> df
           age  height
person_id
0           21    1.61
1           25    1.87
2           62    1.49
3           43    2.01

可以按以下方式找到列的标准差:

>>> df.std()
age       18.786076
height     0.237417
dtype: float64

或者,可以将 ddof=0 设置为按 N 而不是 N-1 进行归一化。

>>> df.std(ddof=0)
age       16.269219
height     0.205609
dtype: float64