📅  最后修改于: 2023-12-03 15:18:03.978000             🧑  作者: Mango
NumPy 是 Python 语言的一个扩展程序库,支持大量高维数组与矩阵运算,针对这种数据结构设计了大量函数与方法。NumPy 是 SciPy、Pandas、SciKit 的基础库。
在 NumPy 中,数组类型被称为 dtype,主要用于数组、矩阵等对象的表示和操作。本文将为您介绍常见的 NumPy 数据类型。
用于表示布尔类型的数组。
import numpy as np
b = np.array([True, False])
print(b.dtype) # 输出 bool
包括 8 位(byte)、16 位(short)、32 位(int)和 64 位(longlong)整数。
import numpy as np
i8 = np.array([1, 2, 3], dtype=np.int8)
print(i8.dtype) # 输出 int8
i16 = np.array([1, 2, 3], dtype=np.int16)
print(i16.dtype) # 输出 int16
i32 = np.array([1, 2, 3], dtype=np.int32)
print(i32.dtype) # 输出 int32
i64 = np.array([1, 2, 3], dtype=np.int64)
print(i64.dtype) # 输出 int64
和有符号整数一样,包括 8 位(ubyte)、16 位(ushort)、32 位(uint)和 64 位(ulonglong)整数。
import numpy as np
u8 = np.array([1, 2, 3], dtype=np.uint8)
print(u8.dtype) # 输出 uint8
u16 = np.array([1, 2, 3], dtype=np.uint16)
print(u16.dtype) # 输出 uint16
u32 = np.array([1, 2, 3], dtype=np.uint32)
print(u32.dtype) # 输出 uint32
u64 = np.array([1, 2, 3], dtype=np.uint64)
print(u64.dtype) # 输出 uint64
单精度浮点数用 32 位表示。
import numpy as np
f = np.array([1.1, 2.2, 3.3], dtype=np.float32)
print(f.dtype) # 输出 float32
双精度浮点数用 64 位表示。
import numpy as np
d = np.array([1.1, 2.2, 3.3], dtype=np.float64)
print(d.dtype) # 输出 float64
包括 64 位实数和 64 位虚数。
import numpy as np
c = np.array([1 + 2j, 2 + 3j], dtype=np.complex64)
print(c.dtype) # 输出 complex64
包括 128 位实数和 128 位虚数。
import numpy as np
z = np.array([1 + 2j, 2 + 3j], dtype=np.complex128)
print(z.dtype) # 输出 complex128
字符串类型可以用 S+N 来表示,其中 N 为长度。
import numpy as np
s = np.array(['a', 'bc', 'def'], dtype='S4')
print(s.dtype) # 输出 |S4
指向 Python 对象的指针,用于存储任意 Python 对象。
import numpy as np
o = np.array([1, 'a', [2, 'b']], dtype=object)
print(o.dtype) # 输出 object