簡體   English   中英

Python:numpy數據類型轉換

[英]Python: numpy data type casting

我對看到的某些輸出感到困惑。

如果p是浮點數列表,則之間有什么區別?

input = np.array([p]).astype('f')

input = np.array([p],float)

如果我使用第二個選項,然后執行print(input),則總會得到類似以下內容:

[數組([-0.662,0.246,1.029])]

但是,如果我使用第一個選項,有時我會簡單地得到:[[0.61900002 1.71300006 2.16899991]]

但是其他時候我得到[array([])]表格。

這里是解釋:

In [217]: np.array([1.1,1.2,1.3]).astype('f')
Out[217]: array([ 1.10000002,  1.20000005,  1.29999995], dtype=float32)

In [218]: np.array([1.1,1.2,1.3]).astype('float')
Out[218]: array([ 1.1,  1.2,  1.3])

In [219]: np.array([1.1,1.2,1.3]).astype(float)
Out[219]: array([ 1.1,  1.2,  1.3])

類型:

In [220]: np.array([1.1,1.2,1.3]).astype(float).dtype
Out[220]: dtype('float64')

In [221]: np.array([1.1,1.2,1.3]).astype('f').dtype
Out[221]: dtype('float32')

因此,使用np.array([p], 'f')會得到相同的結果:

In [224]: np.array([1.1,1.2,1.3],'f')
Out[224]: array([ 1.10000002,  1.20000005,  1.29999995], dtype=float32)

暫無
暫無

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

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