Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NumPy是否具有一致性功能?_Python_Numpy - Fatal编程技术网

Python NumPy是否具有一致性功能?

Python NumPy是否具有一致性功能?,python,numpy,Python,Numpy,是否有一个NumPy函数用于此: 我可以计算,我只是想知道是否有更好的方法 下面是我在没有给定函数的情况下如何计算它- 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 下面的代码是没有循环的解决方案 u

是否有一个NumPy函数用于此:

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

下面是我在没有给定函数的情况下如何计算它-

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

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

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)

希望能有所帮助。

请提供一些有关该函数的背景知识。这是一个空间一致性函数。wi是一个单独的值,wmean是所有值的平均值。A是对应于值的区域…@mauve上下文是什么?虽然我以前见过这样的函数,但我从未见过/听说过它被称为均匀性函数。这与大气科学有关吗?@mauve你已经有效地解决了你自己的问题。如果
z_vals
是一个1D数组,则用
z_vales
替换
value
,并删除python循环将给出一个矢量化的解决方案。我不知道你想要什么来度过这一关。@Ophion。。。并将复杂性从二次型降低到线性型(注意循环内平均值的计算)。