为什么在numpy(pylab)中除以标量会返回零(在脚本中)?

为什么在numpy(pylab)中除以标量会返回零(在脚本中)?,numpy,matplotlib,Numpy,Matplotlib,在脚本中运行以下命令时: from pylab import * N_rec = 1000 pt = 0.1 bitstrm = rand(N_rec,1) bitstrm = (bitstrm<=pt) hist_strm = histogram(bitstrm, 2) p_strm = (hist_strm[0])/sum(hist_strm[0]) print p_strm 从pylab导入* N_rec=1000 pt=0.1 比特率=rand(N_rec,1) bitstr

在脚本中运行以下命令时:

from pylab import *
N_rec = 1000
pt = 0.1
bitstrm = rand(N_rec,1)
bitstrm = (bitstrm<=pt)
hist_strm = histogram(bitstrm,  2)
p_strm = (hist_strm[0])/sum(hist_strm[0]) 
print p_strm
从pylab导入*
N_rec=1000
pt=0.1
比特率=rand(N_rec,1)

bitstrm=(bitstrm这是因为要分割整数数组,必须先将其转换为浮点:

>>> from pylab import *
>>> import numpy as np
>>> N_rec = 1000
>>> pt = 0.1
>>> bitstrm = rand(N_rec,1)
>>> bitstrm = (bitstrm<=pt)
>>> hist_strm = histogram(bitstrm,  2)
>>> p_strm = (hist_strm[0]).astype(np.float)/sum(hist_strm[0]) 
>>> print p_strm
[ 0.894  0.106]
pylab导入的
>>*
>>>将numpy作为np导入
>>>N_rec=1000
>>>pt=0.1
>>>比特率=rand(N_rec,1)
>>>bitstrm=(bitstrm>>历史记录=直方图(bitstrm,2)
>>>p_strm=(hist_strm[0]).astype(np.float)/sum(hist_strm[0])
>>>打印打印格式
[ 0.894  0.106]

这是因为要分割整数数组,必须先将其转换为浮点:

>>> from pylab import *
>>> import numpy as np
>>> N_rec = 1000
>>> pt = 0.1
>>> bitstrm = rand(N_rec,1)
>>> bitstrm = (bitstrm<=pt)
>>> hist_strm = histogram(bitstrm,  2)
>>> p_strm = (hist_strm[0]).astype(np.float)/sum(hist_strm[0]) 
>>> print p_strm
[ 0.894  0.106]
pylab导入的
>>*
>>>将numpy作为np导入
>>>N_rec=1000
>>>pt=0.1
>>>比特率=rand(N_rec,1)
>>>bitstrm=(bitstrm>>历史记录=直方图(bitstrm,2)
>>>p_strm=(hist_strm[0]).astype(np.float)/sum(hist_strm[0])
>>>打印打印格式
[ 0.894  0.106]

谢谢!这很有效。接下来有一个问题:1.你知道我在控制台上做这件事为什么成功吗?我在使用控制台时也有同样的错误,你确定在控制台上做这件事时得到了正确的结果吗?另外,还有一个问题:文档没有说直方图()返回整数(它没有指定任何返回类型)。你知道我如何知道返回变量的类型吗?引用doc:“hist:排列直方图的值。有关可能的语义描述,请参阅normed和weights。”了解任何numpy变量类型的一个简单方法是打印它:
print variable.dtype
Yes和no。它在Spyder控制台上运行良好。(我刚刚打开了一个新控制台以确保).但是当我现在在IPython控制台上尝试时,它复制了错误谢谢!它起作用了。一些后续问题:1.你知道为什么我在控制台上做了它成功了吗?我在使用控制台时也有同样的错误,你确定你在控制台上做时得到了正确的结果吗?还有,另一个后续问题:文档Intation没有说histogram()返回一个整数(它没有指定任何返回类型)。你知道我如何知道返回变量的类型吗?引用文档:“hist:数组直方图的值。有关可能的语义描述,请参阅normed和weights。”了解任何numpy变量类型的一个简单方法是打印它:
print variable.dtype
Yes和no。它在Spyder控制台上工作正常。(我刚刚打开了一个新控制台以确保)。但是当我现在在IPython控制台上尝试它时,它会重现错误