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])