numpy.ma.MaskedArray.astype#

method

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,并且满足 dtype , ordersubok 要求,则返回输入数组而不是副本.

返回:
arr_tndarray

除非 copy 为False,并且满足返回输入数组的其他条件(请参阅 copy 输入参数的说明),否则 arr_t 是一个与输入数组形状相同的新数组,其dtype,order由 dtype , order 给出.

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