上一个主题

numpy.core.defchararray.chararray

下一个主题

numpy.core.defchararray.chararray.argsort

numpy.core.defchararray.chararray.astype

方法

chararray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)

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

参数:
D型 : STR或D型

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

秩序 : 'C'、'F'、'A'、'K',可选

控制结果的内存布局顺序。'“c”表示c顺序,“f”表示fortran顺序,“a”表示f顺序(如果所有数组都是fortran连续的),“c”表示c顺序,而“k”表示数组元素在内存中出现的顺序尽可能接近。默认值是“k”。

铸造 : 'no'、'equiv'、'safe'、'same'u kind'、'unsafe'、可选

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

  • “否”表示完全不应强制转换数据类型。
  • “equiv”表示只允许更改字节顺序。
  • “safe”表示只允许保留值的强制转换。
  • “相同类型”意味着只允许安全的类型或类型内的类型,如float64到float32。
  • “不安全”表示可以进行任何数据转换。
苏博克 : 可选的布尔

如果为true,则将通过子类(默认),否则返回的数组将强制为基类数组。

copy : 可选的布尔

默认情况下,AsType始终返回新分配的数组。如果设置为假,则 dtypeordersubok 满足要求后,返回输入数组而不是副本。

返回:
arr_t : 恩达雷

除非 copy 为假,并且满足返回输入数组的其他条件(请参见说明 copy 输入参数), arr_t 是与输入数组形状相同的新数组,其dtype和order由 dtypeorder .

加薪:
ComplexWarning

当从复数转换为浮点或int时,为了避免这种情况,应该使用 a.real.astype(t) .

笔记

从numpy 1.9开始,如果要强制转换到的字符串数据类型在“安全”强制转换模式下不够长,无法保存正在强制转换的整数/浮点数组的最大值,则astype方法现在返回一个错误。以前,即使结果被截断,也允许强制转换。

实例

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