簡體   English   中英

浮點數組未轉換為 int:Python

[英]Float Array is not converted to int: Python

我有一個 float numpy 數組 x,其中包含 0、.5、1、1.5 等值。 我想根據某個方程將浮點值轉換為整數,並將它們存儲在一個新數組 newx 中。 我這樣做了,

newx=np.zeros(x.shape[0])
    for i in range (x.shape [0]):
        newx[i]=  ((2*x[i]) +1)
    print(newx, v)

但是,在打印 xnew 時,我得到的值如下

(array([   1.,    2.,    3.,    4.,    5.,    6.,    7.,    8.,    9.,
         10.,   11.,   12.,   13.,   14.,   15.,   16.,   17.,   18.])

newx 必須在某個進程中使用,並且它必須是整數,當我想在該進程中使用它時,我收到一個錯誤,指出它必須是整數或布爾類型。 誰能告訴我我犯了什么錯誤?

謝謝你。

Numpy 專為數組操作而設計。 盡量不要像你那樣迭代一個 numpy 數組。 您可以閱讀有關 numpy 數據類型與內置數據類型有何不同的信息。 這會導致更長的運行時間。

無論如何這是您的問題的工作代碼

newx=x*2+1
newx=numpy.int16(newx)      # as easy as this. ;)

暫無
暫無

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

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