numpy.ma.MaskedArray.astype#

方法

ma.MaskedArray.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)

备注

版本 1.17.0 中变更: 简单数据类型和结构化数据类型之间的转换仅在 “unsafe” 转换时才可能。允许转换为多个字段,但不允许从多个字段进行转换。

版本 1.9.0 中变更: 在 “safe” 转换模式下,从数字类型转换为字符串类型要求字符串 dtype 长度足够长以存储转换后的最大整数/浮点数。

示例

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