1
我是编程和Python的新手,所以请谅解,如果这是一个愚蠢的错误。Python 2.7:TypeError:'float'对象没有属性'__getitem__'
我试图运行一个脚本,我想基于对数正态分布的样本数据,然后绘制数据的直方图。
我不断收到错误
这里是我的代码:
import numpy as np
import matplotlib.pyplot as plt
a = 0.75 + (1.25 - 0.75)*np.random.lognormal(10000)
[n,bins,patches] = plt.hist(a, bins=50, color = 'red',alpha = 0.5, normed = True)
plt.show()
错误:
Traceback (most recent call last):
File "H:\UQ&M\GUI Demos\WIP\Tester.py", line 10, in <module>
[n,bins,patches] = plt.hist(a, bins=50, color = 'red',alpha = 0.5, normed = True)
File "C:\Program Files (x86)\python27\lib\site-packages\matplotlib\pyplot.py", line 2341, in hist
ret = ax.hist(x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, **kwargs)
File "C:\Program Files (x86)\python27\lib\site-packages\matplotlib\axes.py", line 7650, in hist
if isinstance(x, np.ndarray) or not iterable(x[0]):
TypeError: 'float' object has no attribute '__getitem__'
我已经在这里阅读过类似疑问的,但是我似乎无法找到一个解决方案。
您的专家建议将不胜感激。
预先感谢把你宝贵的时间寻找到这一点。
'一== inf',一个简单的标量。 'hist(x,...)'需要一个序列作为第一个参数。您可能想要'a = 0.75 +(1.25 - 0.75)* np.random.lognormal(size = 10000)' – dhke
@dhke:您可能想要将其作为答案 –
@AndreaCorbellini Nah,印刷错误,近距离投票;) – dhke