RuntimeWarning:绘制泊松分布时在 power 中遇到无效值
RuntimeWarning: invalid value encountered in power while plotting poisson distribution
我要运行这段代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import factorial
def poisson(k, lamb):
return (lamb**k/factorial(k)) * np.exp(-lamb)
x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2)
plt.show()
其中parameters = 0.00213553
但是每次出现这个警告时:
RuntimeWarning: invalid value encountered in power
return (lamb**k/factorial(k)) * np.exp(-lamb)
只出现一条水平线。
我检查过类似的问题,但它们并没有真正帮助。
我还尝试将函数 return 的值转换为 float128
,但这也没有用。
(使用 Python 2.7.6 64-bit
)
我真的不知道你用的是哪个factorial
。但是当我使用 math.factorial
时,代码甚至无法工作。然后我尝试使用 scipy.misc.factorial
,它确实可以将 numpy array
作为输入。当我 运行 以下内容时,它没有给我任何错误或警告。
import numpy as np
import matplotlib.pyplot as plt
import scipy.misc
parameters = 0.00213553
def poisson(k, lamb):
return (lamb**k/scipy.misc.factorial(k)) * np.exp(-lamb)
x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2)
plt.show()
我要运行这段代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import factorial
def poisson(k, lamb):
return (lamb**k/factorial(k)) * np.exp(-lamb)
x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2)
plt.show()
其中parameters = 0.00213553
但是每次出现这个警告时:
RuntimeWarning: invalid value encountered in power
return (lamb**k/factorial(k)) * np.exp(-lamb)
只出现一条水平线。
我检查过类似的问题,但它们并没有真正帮助。
我还尝试将函数 return 的值转换为 float128
,但这也没有用。
(使用 Python 2.7.6 64-bit
)
我真的不知道你用的是哪个factorial
。但是当我使用 math.factorial
时,代码甚至无法工作。然后我尝试使用 scipy.misc.factorial
,它确实可以将 numpy array
作为输入。当我 运行 以下内容时,它没有给我任何错误或警告。
import numpy as np
import matplotlib.pyplot as plt
import scipy.misc
parameters = 0.00213553
def poisson(k, lamb):
return (lamb**k/scipy.misc.factorial(k)) * np.exp(-lamb)
x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2)
plt.show()