NumPy 简介
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
NumPy - Ndarray 对象
NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。
ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)。
从ndarray对象提取的任何元素(通过切片)由一个数组标量类型的 Python 对象表示。 下图显示了ndarray,数据类型对象(dtype)和数组标量类型之间的关系。
NumPy - 数据类型
序号 | 数据类型及描述 |
---|---|
1 | bool_存储为一个字节的布尔值(真或假) |
2 | int_默认整数,相当于 C 的long,通常为int32或int64 |
3 | intc相当于 C 的int,通常为int32或int64 |
4 | intp用于索引的整数,相当于 C 的size_t,通常为int32或int64 |
5 | int8字节(-128 ~ 127) |
6 | int16 16 位整数(-32768 ~ 32767) |
7 | int32 32 位整数(-2147483648 ~ 2147483647) |
8 | int64 64 位整数(-9223372036854775808 ~ 9223372036854775807) |
9 | uint8 8 位无符号整数(0 ~ 255) |
10 | uint16 16 位无符号整数(0 ~ 65535) |
11 | uint32 32 位无符号整数(0 ~ 4294967295) |
12 | uint64 64 位无符号整数(0 ~ 18446744073709551615) |
13 | float_float64的简写 |
14 | float16半精度浮点:符号位,5 位指数,10 位尾数 |
15 | float32单精度浮点:符号位,8 位指数,23 位尾数 |
16 | float64双精度浮点:符号位,11 位指数,52 位尾数 |
17 | complex_complex128的简写 |
18 | complex64复数,由两个 32 位浮点表示(实部和虚部) |
18 | complex128复数,由两个 64 位浮点表示(实部和虚部) |
NumPy - 数据属性
ndarray.shape
import numpy as np
nd1 = np.array([1,2,3,4],[5,6,7,8])
print(nd1)
-> (2,4)
修改shape
nd2 = np.array([[1,2,3],[4,5,6]])
nd2.shape=(3,2)
print(nd2)
->[[1 2]
[3 4]
[5 6]]
nd3 = np.arange(0, 150, step=5, dtype=np.float32)
display(nd3.shape, nd3.dtype)
print(nd3)
->(30,)
->dtype('float32')
->[ 0. 5. 10. 15. 20. 25. 30. 35. 40. 45. 50. 55. 60. 65.
70. 75. 80. 85. 90. 95. 100. 105. 110. 115. 120. 125. 130. 135.
140. 145.]