AttributeError: 'numpy.float64' object has no attribute 'pmf'
时间: 2024-05-02 14:15:44 浏览: 17
这个错误通常意味着你试图调用一个未定义的方法或属性。在你的代码中,你可能使用了一个numpy.float64类型的对象,并尝试调用它的pmf()方法,而pmf()方法不是该对象的属性。要解决此错误,您需要查看代码中所有使用numpy.float64类型的对象的位置,并检查您可能尝试调用但未定义的任何方法或属性。
<<引用: from scipy = stats import numpy as np import matplotlib.pyplot as plt fs_meetsig = np.random.random(30) fs_xk = np.sort(fs_meetsig) fs_pk = np.ones_like(fs_xk) / len(fs_xk) fs_rv_dist = stats.rv_discrete(name='fs_rv_dist', values=(fs_xk, fs_pk)) plt.plot(fs_xk, fs_rv_dist.cdf(fs_xk), 'b-', ms=12, mec='r', label='friend') plt.show() [^2]>>
通过上面的代码,您可能遇到此错误,因为rv_discrete类没有pmf()方法。您可以考虑使用rv_discrete对象的其他方法来解决此问题。例如,您可以使用rv_discrete.pmf(xk)方法来计算给定离散值序列xk的概率质量函数值。请参考下面的代码:
```python
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt
fs_meetsig = np.random.random(30)
fs_xk = np.sort(fs_meetsig)
fs_pk = np.ones_like(fs_xk) / len(fs_xk)
fs_rv_dist = stats.rv_discrete(name='fs_rv_dist', values=(fs_xk, fs_pk))
plt.plot(fs_xk, fs_rv_dist.cdf(fs_xk), 'b-', ms=12, mec='r', label='friend')
plt.plot(fs_xk, fs_rv_dist.pmf(fs_xk), 'ro', ms=8)
plt.show()
```