簡體   English   中英

如何將數組設置為float32數據類型(需要與append兼容)?

[英]How to set array into float32 data type (need to be compatible with append)?

我遇到了數組浮動32的問題。 基本上,我已經定義了一個函數,並且希望以數組形式生成一系列結果,在以下代碼中稱為“ Apoints”。 因此,我發現如果我使用array([],numpy.float32),然后使用append命令,它將說'numpy.ndarray'對象沒有屬性'append'。

有誰知道該怎么辦? 非常感謝!

###這是代碼,而Apoints結果為64位,而不是32位。
 def f(N): S = np.float32(0) for n in arange(1,N+1,1,dtype=np.float32): #for upward summation #print S S = np.float32(np.float32(S) + np.float32(np.float32(1.0)/(np.float32((np.float32(n)*np.float32(n)))))) return np.float32(np.float32(abs(np.float32((np.float32(S)-np.float32(R)))))/np.float32(R)) Npoints = [] Apoints = [] hpoints = [] Npoints = arange(10,1000,20,dtype=np.float32) for N in Npoints: Apoints.append(np.float32(f(N))) hpoints.append(np.float32(np.float32(1.0)/(np.float32(N)))) print Apoints 

'numpy.ndarray'對象沒有屬性'append'

->您嘗試在numpy數組上調用append(),但ndarray類型沒有append方法。 對此的解釋很簡單:數組是不可變的,因此在numpy ndarray對象上添加一些附加內容沒有多大意義。

追加到數組是numpy直接提供的功能。 這將創建一個具有所有值(舊值和附加值)的新數組。

a = numpy.array( [1,2,3] )
b = numpy.array( [4,5,6] )
c = numpy.append(a,b)
print c

這將產生以下輸出:

array([1, 2, 3, 4, 5, 6])

Numpy.append(a,b)創建一個新數組,其維數等於a的維加b的維,以便新數組可以容納a b的值。 此新數組返回,因此可以將其另存為c

有關進一步的解釋,請查看numpy文檔或提出新問題;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM