NumPy 数据类型和转换
Jinku Hu
2023年1月30日
NumPy 里面的数据类型 dtype
跟 Python 内置的数据类型有一些不同的地方,它有精度更高的类型,这跟它用于数据计算的特性是相关的。
NumPy 的数据类型
类型 | 说明 |
---|---|
bool |
布尔型 |
int8 |
8 位有符号整数 |
int16 |
16 位有符号整数 |
int32 |
32 位有符号整数 |
int64 |
64 位有符号整数 |
uint8 |
8 位无符号整数 |
uint16 |
16 位无符号整数 |
uint32 |
32 位无符号整数 |
uint64 |
64 位无符号整数 |
float16 |
16 位浮点数 |
float32 |
32 位浮点数 |
float64 |
64 位浮点数 |
complex64 |
64 位复数 |
complex128 |
128 位复数 |
在新建一个 ndarray
数据时,你可以通过字符串或者 NumPy
库里面的数据类型常量来制定元素的数据类型
import numpy as np
# 通过字符串来指定数据类型
test = np.array([4, 5, 6], dtype="int64")
# 通过 np 内的常量来指定
test = np.array([7, 8, 8], dtype=np.int64)
数据类型转换
在实例创建好了之后,可以通过数据类型转换方法 astype()
将元素的类型变成另外的一种,比如从整型变到浮点型,等等。
>>> import numpy as np
>>> test = np.array([11, 12, 13, 14], dtype="int32")
>>> x = test.astype('float32')
>>> x
array([11., 12., 13., 14.], dtype=float32)
>>> test, test.dtype
(array([11, 12, 13, 14]), dtype('int32'))
注意
数据类型转换方法只会返回一个全新的数组,而原数组实例的数据和信息并没有改变。