簡體   English   中英

如何將numpy int轉換為帶有單獨的numpy數組的浮點數?

[英]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切片,因為imagesdtype int

您可以做的是創建切片的臨時副本並將其轉換為float:

copied_slice = images[0:5].astype(numpy.float32)

對數據的這一較小部分進行所有所需的計算,保存所需的任何結果,然后繼續進行下一個(復制和轉換)切片。

暫無
暫無

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

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