python numpy std vs scala breeze stdd

2024-04-27 23:38:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在将一些python代码迁移到scala。我用breeze lib来代替numpy。在

一切看起来都很好,但我在标准偏差实现的输出中面临着不同的行为:

Python:

series = np.array([1,4,5])
np.mean(series) // 3.3333333333333335
np.std(series) // 1.699673171197595

斯卡拉:

^{pr2}$

我知道如何在普通scala中重现python的行为。示例代码如下:Scala: What is the generic way to calculate standard deviation

但我在找一种轻松的方法。有什么想法吗?在


Tags: 代码numpy示例libnpmeanarraywhat
2条回答

这与degrees of freedom的数目有关。事实上

>>> np.std(series, ddof=1)
2.081665999466133

这是样本std。有了breeze,你可以做些什么来获得人群的std是

^{pr2}$

如果keepAlive的解决方案不起作用,您应该将“n”改为Double

var n : Double  = 3
val std = breeze.stats.stddev(vector)*Math.pow((n-1)/n, .5)
# 1.6996731711975948

相关问题 更多 >