2014-02-21 71 views
3

我第一次和numpy一起工作,並且遇到了浮點數組的一些非常奇怪的問題。真奇怪的numpy數組浮點行爲

這是非常基本的,我可能錯過了一些非常明顯的東西 - 任何人都可以告訴我什麼是問題?

的代碼

arr1 = numpy.ndarray([1.0, 2.0]) 
print "arr1: ", arr1 

產生這種輸出這兩行:

arr1: [[ 1.49166815e-154 -1.32750723e-315]] 

那......也不對。我究竟做錯了什麼?

謝謝你的幫助!

回答

4

您應該使用numpy.array創建一個數組而不是numpy.ndarraynumpy.ndarray是一個低級接口,在大多數情況下,應該使用numpy.array來創建一個數組。

In [5]: arr1 = numpy.array([1.0, 2.0])                

In [6]: arr1 
Out[6]: array([ 1., 2.]) 

numpy.ndarray簽名:

ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)   

所以,第一個參數是shape不是數組。所以,numpy用一些隨機數據填充你的數組。

numpy.ndarraydocstring

陣列應該使用arrayzerosempty構成。

2

您指定的參數是形狀。要填充數據,您需要指定緩衝區參數。

np.ndarray(shape=(1,2), buffer=np.array([1,2]), dtype=float)