擅长:python、mysql、java
<p>在这种情况下,不需要<code>for</code>循环:</p>
<pre><code>import numpy as np
m = lambda k: (0.12*np.sin((2*np.pi*k)/3 + np.pi/2))**2
k=np.arange(1,4) # k = array([1, 2, 3])
print (m(k))
# array([ 0.0036, 0.0036, 0.0144])
print (np.mean(m(k)))
# 0.0072
</code></pre>
<p>如果要使用<code>scipy.stats.rv_discrete</code>,请确保<code>m(k)</code>是概率,即它们加起来等于1。在</p>
^{pr2}$
<p>如果您坚持使用<code>rv_discrete</code>,并且所有{<cd5>}的概率相同,则可以使用:</p>
<pre><code>from scipy import stats
pk = np.ones_like(m(k))/len(m(k))
func = stats.rv_discrete(name='custm', values=(m(k), pk))
func.mean()
# 0.0072
</code></pre>