布爾矩陣我要處理大量的數據(300×4×140萬整數數組),這是圍繞如何創建在numpy的
4byte * 300 * 4 * 1400000 = 6.72GB
然而,這個數組只包含0或1。所以,如果我可以使用布爾數組,然後大小會縮小到原始數據的6.25%。
6.72GB/4bytes/8bits/bytes * 2 = 420Mbits
有沒有什麼辦法可以在numpy中使用布爾數組?
編輯: 我不知道爲什麼他刪掉了他的答案,但這個也正是我想要的。
arr = np.ones((300,2,1400000), dtype = np.bool)
這導致了12.5%的壓縮。
>>> arr = np.ones((300,2,1400000), dtype = np.bool)
>>> arr.nbytes
840000000
>>> arr = np.ones((300,2,1400000))
>>> arr.nbytes
6720000000
840000000/6720000000 = 12.5%
「這個數組只包含0或1 ...每個元素都有2位」 - 呃,什麼? 2位如何表示? – user2357112