擅长:python、mysql、java
<p>只有当<code>x</code>是一个<code>float</code>时,您所定义的才有效。如果您想要的是能够传递一个numpy数组,比如<code>np.array([0.2, 0.3])</code>并得到[N(gt;0.2),N(gt;0.3)],那么您可以使用已经定义的函数,只需调用<code>vectorize</code>方法。因此,如果<code>a</code>是您正在使用的numpy数组,<code>a.vectorize(gaussianGreater)</code>会给您一个对每个元素应用<code>gaussianGreater</code>的数组。您可以定义另一个函数<code>vectorGausssianGreater</code>,它接受一个数组,并返回对它的向量化调用的结果。如果您真正想要的是一个可以接受数组值的函数,可以定义如下内容:</p>
<pre><code>def gaussian_greater(values, mean, standard_deviation):
def greater_float(upper_bound):
integrand = lambda y: gaussian(y, mean, standard_deviation)
return integrate.quad(integrand, -np.inf, upper_bound)[0]
return values.vectorize(greater)
</code></pre>