NumPy是否具有Uniformity功能?

时间:2014-03-24 19:30:02

标签: python numpy

是否有NumPy功能:

enter image description here

我可以计算出来,我只是想知道是否有更好的方法。

以下是我在没有给定函数的情况下计算它的方法 -

len(z_vals)代替Ai / A,因为各个区域是均匀分布的。

ui_minus = 0
for value in z_vals:
    ui_minus += abs(value - np.average(z_vals))/(len(z_vals)*np.average(z_vals))

ui = 1 - 0.5*ui_minus

1 个答案:

答案 0 :(得分:1)

下面的代码是没有循环的解决方案

ui = 1 - 0.5*sum(abs(z_vals - np.average(z_vals)))/(len(z_vals)*np.average(z_vals))

如果您需要在代码中经常使用此计算,则可以使用方法lambda轻松定义函数

uniformity = lambda x : 1 - 0.5*sum( abs(x - np.average(x)) )/(len(x)*np.average(x))

然后你可以简单地调用统一性,如下所示。

ui = uniformity(z_vals)

希望它有所帮助。