np.std(ddof = 1)和statistics.pstdev给出了不同的答案

时间:2019-12-05 01:05:11

标签: python pandas numpy statistics

enter image description here enter image description here

population_std = np.std(final_array)
sample_std = np.std(final_array, ddof=1)  #  ??
print(population_std,sample_std)

sample_static_std = statistics.stdev(final_array,)
populate_stat_std = statistics.pstdev(final_array)  # ??
print(populate_stat_std,sample_static_std,sep=" <-----> ")

NP提供更正确的值。但我需要知道如何从统计资料库中获取正确的值。我认为统计库自动将数字取整。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

根据定义,

pstdev人口标准差。同样根据定义,总体标准偏差的自由度等于零。另一方面,样本std具有1个自由度。

换句话说

statistcs.pstdev(x) == np.std(x, ddof=0)

statistics.stdev(x) == np.std(x, ddof=1)