在计算标准偏差时,是要使用该总体的较小样本估算整个总体的标准偏差,还是要计算整个总体的标准偏差就很重要。
如果是较大样本量的较小样本,则需要所谓的 样本标准偏差
。事实证明,当将均值的平方差之和除以观察数时,最终会得到有偏差的估计量。我们将其除以观察次数减去一来进行校正。我们使用
ddof=1样本标准偏差或
ddof=0总体标准偏差作为参数来控制。
事实是,样本量是否很大并不重要。但是您会看到一些小的差异。
在
pandas.Dataframe.std通话中使用自由度参数:
import pandas as pddata = pd.read_csv("https://s3.amazonaws.com/demo-datasets/wine.csv")numeric_data = data.drop("color", 1)numeric_data1 = ((numeric_data - numeric_data.mean()) / numeric_data.std(ddof=0)) # <<<numeric_data2 = ((numeric_data - np.mean(numeric_data, axis=0)) / np.std(numeric_data, axis=0))np.isclose(numeric_data1, numeric_data2).all() # -> True或在
np.std通话中:
import pandas as pddata = pd.read_csv("https://s3.amazonaws.com/demo-datasets/wine.csv")numeric_data = data.drop("color", 1)numeric_data1 = ((numeric_data - numeric_data.mean()) / numeric_data.std())numeric_data2 = ((numeric_data - np.mean(numeric_data, axis=0)) / np.std(numeric_data, axis=0, ddof=1)) # <<<np.isclose(numeric_data1, numeric_data2).all() # -> True


