📜  Pandas Series.std()(1)

📅  最后修改于: 2023-12-03 14:45:02.878000             🧑  作者: Mango

Pandas Series.std()

简介

Pandas是Python数据分析库,提供了Series和DataFrame两种主要的数据结构。Series是一种一维数组的数据结构,类似于带有标签的NumPy数组。Pandas Series.std()是Series的一个方法,用于计算Series对象所有数值的标准差(Standard Deviation,简称std)。标准差是衡量数据分散程度的一种统计量,表明各个数据点相对于平均值的分散程度。

语法

Pandas Series.std()方法的语法如下所示:

Series.std(axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs)

参数解释如下:

  • axis:计算标准差的轴方向,0表示按列计算,1表示按行计算,缺省值为None;
  • skipna:是否排除缺失值,缺省值为None,表示不排除,为True表示排除;
  • level:用于MultiIndex的级别,缺省值为None;
  • ddof:自由度,缺省值为1,表示计算样本标准差,为0表示计算总体标准差;
  • numeric_only:是否只计算数值型数据,缺省值为None,表示包括所有数据类型,为True表示仅包括数值型数据;
  • **kwargs:其他参数,如下面示例中的min_periods参数。
返回值

Pandas Series.std()方法返回Series对象中所有数值的标准差,如果Series对象为空,返回NaN。

示例

首先,生成一个包含随机数的Series对象:

import pandas as pd
import numpy as np

s = pd.Series(np.random.randn(5))
print(s)

输出:

0    0.751971
1    0.815085
2    0.124173
3   -1.438094
4   -0.696258
dtype: float64

然后,使用Series.std()方法计算标准差:

std = s.std()
print("标准差:", std)

输出:

标准差: 0.8702877906799738

如果Series对象中有缺失值,可以使用skipna参数排除:

s[0] = np.nan
std = s.std(skipna=True)
print("排除缺失值后的标准差:", std)

输出:

排除缺失值后的标准差: 1.0088230542823315

还可以指定计算标准差的轴方向:

df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
std_column = df.std()  # 按列计算标准差
std_row = df.std(axis=1)  # 按行计算标准差
print("按列计算标准差:", std_column)
print("按行计算标准差:", std_row)

输出:

按列计算标准差: A    0.5
B    0.5
dtype: float64
按行计算标准差: 0    1.5
1    1.5
dtype: float64

当然,各种参数的组合可以产生更多的用法,这里只做简单示例。