📜  scipy stats.skew() | Python(1)

📅  最后修改于: 2023-12-03 15:05:05.653000             🧑  作者: Mango

scipy.stats.skew()函数介绍

scipy.stats.skew()函数是用来计算数据样本的偏度值(skewness)的函数。偏度值是用来描述一个数据集的对称性的,如果数据集呈现左偏态(负偏态)分布,则偏度值为负;如果数据集呈现右偏态(正偏态)分布,则偏度值为正;如果数据集呈现对称性分布,则偏度值接近于0。

语法
scipy.stats.skew(a, axis=0, bias=True, nan_policy='propagate')
参数说明
  • a: 要计算偏度值的数据样本,数组形式。
  • axis: 选择要计算的维度,整数形式,默认为0。
  • bias: 设置偏度的公式计算是否需要偏倚校正,布尔型,默认为True。
  • nan_policy: 处理 NaN 值的方法,字符串形式,默认为 "propagate"。
返回值

返回值为数组的偏度值(skewness),如果axis参数为 None,则返回一个实数。

示例代码
import numpy as np
from scipy.stats import skew

data = np.array([1,2,3,4,5,6,7,8,9])
print(skew(data))  # 输出结果为 0.0

data = np.array([1,2,3,4,5,6,7,8,100])
print(skew(data))  # 输出结果为 2.180621502192303

在上述代码中,我们首先导入了 numpy 和 scipy.stats 两个库。接着,我们定义了两个数据集 data,一个是对称性分布数据集,另一个是非对称性分布数据集。然后,我们调用 skew() 函数分别计算这两个数据集的偏度值skewness,并输出结果。第一个数据集的结果为0.0,没有偏度,第二个数据集的结果为2.180621502192303,是一个右偏分布数据集。

值得注意的是,在 skew() 函数的默认设置下,bias 参数为 True,也就是计算偏度值的公式需要进行偏倚校正,如果我们将 bias 参数设置为 False,我们将得到一个不进行偏倚校正的偏度值(skewness),这在某些情况下也可能是有实用价值的。