numpy.core.defchararray.chararray.astype¶
-
chararray.
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:bool,可选
如果为True,则子类将被传递(默认),否则返回的数组将被强制为基类数组。
copy:bool,可选
默认情况下,astype总是返回一个新分配的数组。如果此设置为false,并且满足
dtype
,order和subok要求,则返回输入数组,而不是副本。返回: arr_t:ndarray
上升: ComplexWarning
当从complex转换为float或int时。为了避免这种情况,应该使用
a.real.astype(t)
。笔记
从NumPy 1.9开始,astype方法现在返回一个错误,如果要转换的字符串dtype在“安全”转换模式下不够长,以保持正在转换的整数/浮点数组的最大值。以前即使结果被截断也允许转换。
例子
>>> x = np.array([1, 2, 2.5]) >>> x array([ 1. , 2. , 2.5])
>>> x.astype(int) array([1, 2, 2])