NumPy 数据类型和转换

Jinku Hu 2023年1月30日
  1. NumPy 的数据类型
  2. 数据类型转换
NumPy 数据类型和转换

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'))
注意
数据类型转换方法只会返回一个全新的数组,而原数组实例的数据和信息并没有改变。
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook