📜  NumPy数据类型(1)

📅  最后修改于: 2023-12-03 15:18:03.978000             🧑  作者: Mango

NumPy 数据类型

NumPy 是 Python 语言的一个扩展程序库,支持大量高维数组与矩阵运算,针对这种数据结构设计了大量函数与方法。NumPy 是 SciPy、Pandas、SciKit 的基础库。

在 NumPy 中,数组类型被称为 dtype,主要用于数组、矩阵等对象的表示和操作。本文将为您介绍常见的 NumPy 数据类型。

布尔型(bool)

用于表示布尔类型的数组。

import numpy as np

b = np.array([True, False])
print(b.dtype)  # 输出 bool
整数型
有符号整数(int)

包括 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
无符号整数(uint)

和有符号整数一样,包括 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
浮点型
单精度浮点数(float)

单精度浮点数用 32 位表示。

import numpy as np

f = np.array([1.1, 2.2, 3.3], dtype=np.float32)
print(f.dtype)  # 输出 float32
双精度浮点数(double)

双精度浮点数用 64 位表示。

import numpy as np

d = np.array([1.1, 2.2, 3.3], dtype=np.float64)
print(d.dtype)  # 输出 float64
复数型
单精度复数(complex)

包括 64 位实数和 64 位虚数。

import numpy as np

c = np.array([1 + 2j, 2 + 3j], dtype=np.complex64)
print(c.dtype)  # 输出 complex64
双精度复数(complex)

包括 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