NumPy参考 >数组对象 >标准数组子类 >numpy.matrix > numpy.matrix.astype
方法
matrix.
astype
(dtype,order ='K',cast ='unsafe',subok = True,copy = True )¶数组的副本,强制转换为指定的类型。
数组转换为的类型代码或数据类型。
控制结果的内存布局顺序。'C'表示C顺序,'F'表示Fortran顺序,'A'表示'F'顺序(如果所有数组都是连续的),否则'C'顺序,'K'表示与数组元素出现的顺序接近在内存中。默认值为“ K”。
控制可能发生的数据类型转换。为了向后兼容,默认为“不安全”。
“否”表示完全不应该转换数据类型。
“ equiv”表示仅允许字节顺序更改。
“安全”表示只允许保留值的强制类型转换。
“ same_kind”表示仅允许安全类型转换或同一类型内的类型转换,例如float64到float32。
“不安全”表示可能会进行任何数据转换。
如果为True,则子类将被传递(默认),否则,返回的数组将被强制为基类数组。
默认情况下,astype始终返回新分配的数组。如果将其设置为false,并且满足dtype
,order和subok
要求,则返回输入数组,而不是副本。
当从复数转换为浮点数或整数时。为避免这种情况,应使用a.real.astype(t)
。
笔记
在1.17.0版中进行了更改:在简单数据类型和结构化数据类型之间进行转换仅适用于“不安全”转换。允许强制转换为多个字段,但不允许强制多个字段进行强制转换。
在版本1.9.0中更改:在“安全”转换模式下从数字类型转换为字符串类型要求字符串dtype长度足够长,以存储转换的最大整数/浮点值。
例子
>>> x = np.array([1, 2, 2.5])
>>> x
array([1. , 2. , 2.5])
>>> x.astype(int)
array([1, 2, 2])