numpy.chararray.astype #

方法

字符数组。astype ( dtype , order = 'K' , casting = 'unsafe' , subok = True , copy = True ) #

数组的副本,转换为指定类型。

参数
dtype str 或 dtype

数组转换为的类型代码或数据类型。

顺序{'C', 'F', 'A', 'K'},可选

控制结果的内存布局顺序。 'C' 表示 C 顺序,'F' 表示 Fortran 顺序,'A' 表示 'F' 顺序(如果所有数组都是 Fortran 连续的),'C' 顺序,否则,'K' 表示尽可能接近数组元素出现的顺序尽可能在记忆中。默认为“K”。

强制转换{'no', 'equiv', 'safe', 'same_kind', 'unsafe'},可选

控制可能发生的数据转换类型。默认为“不安全”以实现向后兼容性。

  • “no”意味着根本不应该转换数据类型。

  • 'equiv' 表示仅允许字节顺序更改。

  • “安全”意味着只允许可以保留值的强制转换。

  • “same_kind”表示仅允许安全强制转换或某种类型内的强制转换,例如从 float64 到 float32。

  • “不安全”意味着可以进行任何数据转换。

subok布尔,可选

如果为 True,则将传递子类(默认),否则返回的数组将被强制为基类数组。

复制布尔值,可选

默认情况下,astype 始终返回新分配的数组。如果将此设置为 false,并且满足dtypeordersubok 要求,则返回输入数组而不是副本。

返回
arr_t ndarray

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

加薪
复杂警告

从complex 转换为float 或int 时。为了避免这种情况,应该使用a.real.astype(t).

笔记

版本 1.17.0 中进行了更改:简单数据类型和结构化数据类型之间的转换仅适用于“不安全”转换。允许转换到多个字段,但不允许从多个字段进行转换。

在版本 1.9.0 中更改:在“安全”转换模式下从数字类型转换为字符串类型要求字符串数据类型长度足够长以存储转换的最大整数/浮点值。

例子

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