[英]How to convert numpy int to float with separate numpy array?
我有大量的numpy內存錯誤問題數據,我嘗試使用切片來處理它,如下所示:如果切片無法解決內存錯誤,如何合並兩個大型numpy數組?
切片適用於numpy.multiply,但似乎無法將numpy int轉換為使用切片進行浮動。 以下是示例:
images = numpy.array([1,2,3,4,5,6,7,8,9,10])
images[0:5] = images[0:5].astype(numpy.float32)
print type(images[0])
images = images.astype(numpy.float32)
print type(images[0])
<type 'numpy.int32'>
<type 'numpy.float32'>
一旦我使用images.astype(numpy.float32),我得到了內存錯誤(dtype是相同的)。 目標內存太小,可能很難使用稀疏矩陣。
感謝您的任何建議...!
您不能僅修改切片的dtype
。 當你做
images[0:5] = images[0:5].astype(numpy.float32)
images[0:5].astype(numpy.float32)
創建了一個float
的切片的拷貝,但結果被轉換回int
分配回時images
切片,因為images
是dtype
int
。
您可以做的是創建切片的臨時副本並將其轉換為float:
copied_slice = images[0:5].astype(numpy.float32)
對數據的這一較小部分進行所有所需的計算,保存所需的任何結果,然后繼續進行下一個(復制和轉換)切片。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.