[英]Numpy appending arrays
我正在嘗試在for循環中的每次迭代中增加數組/矩陣。 以下是我的代碼
import numpy as np
sino = [];
for n in range(0, 4):
fileName = 'D:\zDeflectionBP\data\headData_zdef\COSWeighted_trunk_' + str(n) + '.bin'
f = open(fileName, "rb")
data = np.fromfile(f, np.float32)
sino = np.append(sino, data)
f.close()
fileName = 'D:\zDeflectionBP\data\headData_zdef\Head_FFS_COSWeighted.bin'
f = open(fileName, "wb")
f.write(bytes(sino))
f.close()
每次迭代data
加載有四個
但是,最后,我發現sino的大小(以字節數計)是應該的兩倍。
例如:每個data
大小:3MB,那么,由於我有四個data
,因此,sino的大小應為:3MB X 4 = 12MB。 但是我發現該大小的大小是24MB。
這是怎么回事 我希望sino
只有12MB,僅包含來自四個data
變量的data
。 我該怎么辦? 謝謝。
你的sino
是不是numpy的陣列最初但Python列表。
默認情況下,在64位安裝中,Numpy會在默認情況下首次將其轉換為64位數組,之后它將保持這種狀態,是您預期的兩倍。
附加數據的所有時間都會被轉換為64位,因為這是目標的格式。
從一開始np.float32
sino
設為np.float32
數組即可解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.