numpy.ndarray.astype#

方法

ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)#

陣列的副本,轉換為指定的型別。

參數:
dtypestr 或 dtype

陣列要轉換成的型別代碼或資料型別。

order{‘C’, ‘F’, ‘A’, ‘K’}, 選項性

控制結果的記憶體佈局順序。「C」表示 C 順序,「F」表示 Fortran 順序,「A」表示如果所有陣列都是 Fortran 連續的則為「F」順序,否則為「C」順序,「K」表示盡可能接近陣列元素在記憶體中出現的順序。預設為「K」。

casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, 選項性

控制可能發生的資料型別轉換種類。為了向後相容性,預設為「unsafe」。

  • 「no」表示不應轉換資料型別。

  • 「equiv」表示僅允許位元組順序變更。

  • 「safe」表示僅允許可以保留值的轉換。

  • 「same_kind」表示僅允許安全轉換或種類內的轉換,例如 float64 到 float32。

  • 「unsafe」表示可以進行任何資料轉換。

subokbool,選項性

如果為 True,則子類別將被傳遞(預設),否則傳回的陣列將被強制為基底類別陣列。

copybool,選項性

預設情況下,astype 總是傳回新分配的陣列。如果將此項設定為 False,並且滿足 dtypeordersubok 需求,則會傳回輸入陣列而不是副本。

傳回值:
arr_tndarray

除非 copy 為 False 且滿足傳回輸入陣列的其他條件(請參閱 copy 輸入參數的描述),否則 arr_t 是與輸入陣列形狀相同的新陣列,其 dtype、order 由 dtypeorder 給定。

引發:
ComplexWarning

當從複數轉換為浮點數或整數時。為了避免這種情況,應該使用 a.real.astype(t)

範例

>>> import numpy as np
>>> x = np.array([1, 2, 2.5])
>>> x
array([1. ,  2. ,  2.5])
>>> x.astype(int)
array([1, 2, 2])