astype
时间: 2023-09-08 12:11:31 浏览: 35
`numpy`中的`.astype()`函数用于将数组中的元素类型转换为指定类型。该函数返回一个新的数组,不改变原始数组。
语法如下:
```python
numpy.ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)
```
参数说明:
- `dtype`:目标数据类型。
- `order`:{‘C’, ‘F’, ‘A’, ‘K’},可选参数,默认值为‘K’。用于指定数组在内存中的排列方式,即按行(C)或按列(F)存储,或者保持原样(A),或者让系统自动决定(K)。
- `casting`:{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’},可选参数,默认值为‘unsafe’。用于指定类型转换时允许的类型转换级别,即是否允许发生数据类型截断或类型不匹配等操作。
- `subok`:bool型,可选参数,默认值为`True`。用于指定返回的数组是否继承输入数组的子类。
- `copy`:bool型,可选参数,默认值为`True`。用于指定是否复制数据,即是否返回新的数组。
使用示例:
```python
import numpy as np
# 创建一个整型数组
a = np.array([1, 2, 3, 4, 5])
# 将整型数组转换为浮点型数组
b = a.astype(float)
# 将浮点型数组转换为整型数组
c = b.astype(int)
print(a)
print(b)
print(c)
```
输出结果:
```
[1 2 3 4 5]
[1. 2. 3. 4. 5.]
[1 2 3 4 5]
```
上述代码中,首先创建一个整型数组`a`,然后使用`.astype()`函数将其转换为浮点型数组`b`,再将浮点型数组`b`转换为整型数组`c`。可以看到,转换后的数组类型与原始数组类型不同,且转换后的数组是新的数组,不改变原始数组。