引言
主要介绍 NumPy 模块及其多维数组的属性,更多 Pyton 进阶系列文章,请参考 Python 进阶学习 玩转数据系列
内容提要:
- NumPy 模块的导入
- NumPy 多维数组属性
NumPy 模块的导入
NumPy 是 Numerical Python 的缩写,更多细节请参考 NumPy 官网。
导入 NumPy 模块并 check 其版本:通常 np 作为 NumPy的别名。
import numpy as np
version = np.__version__
print(version)
输出:
1.19.1
NumPy 多维数组属性
.ndim: 数组的维度
.size: 数组元素的总个数或数组某个具体的维度的元素的个数
.shape: 是一个元组,其中的元素分别代码每个维度元素的个数。
axis: 数组某个维度
多维数组举例 | ndim | size | shape | axis |
---|---|---|---|---|
1 维数组[1,2,3,4] | 1 | 4 | (4,) | axis=0 第1维度(其元素个数为4) |
2 维数组 [[1,2],[3,4],[5,6]] | 2 | 6 | (3,2) | axis=0 第1维度(其元素个数为3), axis=1 第2维度(其元素个数为2) |
3 维数组[[[1,2,3,4],[1,3,4,5]],[[2,4,7,5],[8,4,3,5]],[[2,5,7,3],[1,5,3,7]]] | 3 | 24 | (3,2,4) | axis=0 第1维度(其元素个数为3), axis=1 第2维度(其元素个数为2),axis=2 第3维度(其元素个数为4) |
图解:
黑色框框表示第 1 维
红色框框表示第 2 维
蓝色框框表示第 3 维
代码:
import numpy as np
arr_1_d = np.array ([1,2,3,4])
arr_2_d = np.array ([[1,2],[3,4],[5,6]])
arr_3_d = np.array([[[1,2,3,4],[1,3,4,5]],[[2,4,7,5],[8,4,3,5]],[[2,5,7,3],[1,5,3,7]]])
print("1 dimension array============================")
print("arr_1_d:{}".format(arr_1_d))
print("arr_1_d ndim:{}".format(arr_1_d.ndim))
print("arr_1_d shape:{}".format(arr_1_d.shape))
print("arr_1_d size:{}".format(arr_1_d.size))
print("arr_1_d #No.1 dimension size:{}".format(np.size(arr_1_d, axis=0)))
print("2 dimension array============================")
print("arr_2_d:{}".format(arr_2_d))
print("arr_2_d ndim:{}".format(arr_2_d.ndim))
print("arr_2_d shape:{}".format(arr_2_d.shape))
print("arr_2_d size:{}".format(arr_2_d.size))
print("arr_2_d #No.1 dimension size:{}".format(np.size(arr_2_d, axis=0)))
print("arr_2_d #No.2 dimension size:{}".format(np.size(arr_2_d, axis=1)))
print("3 dimension array============================")
print("arr_3_d:{}".format(arr_3_d))
print("arr_3_d ndim:{}".format(arr_3_d.ndim))
print("arr_3_d shape:{}".format(arr_3_d.shape))
print("arr_3_d size:{}".format(arr_3_d.size))
print("arr_3_d #No.1 dimension size:{}".format(np.size(arr_3_d, axis=0)))
print("arr_3_d #No.2 dimension size:{}".format(np.size(arr_3_d, axis=1)))
print("arr_3_d #No.3 dimension size:{}".format(np.size(arr_3_d, axis=2)))
输出:
1 dimension array============================
arr_1_d:[1 2 3 4]
arr_1_d ndim:1
arr_1_d shape:(4,)
arr_1_d size:4
arr_1_d #No.1 dimension size:4
2 dimension array============================
arr_2_d:[[1 2]
[3 4]
[5 6]]
arr_2_d ndim:2
arr_2_d shape:(3, 2)
arr_2_d size:6
arr_2_d #No.1 dimension size:3
arr_2_d #No.2 dimension size:2
3 dimension array============================
arr_3_d:[[[1 2 3 4]
[1 3 4 5]]
[[2 4 7 5]
[8 4 3 5]]
[[2 5 7 3]
[1 5 3 7]]]
arr_3_d ndim:3
arr_3_d shape:(3, 2, 4)
arr_3_d size:24
arr_3_d #No.1 dimension size:3
arr_3_d #No.2 dimension size:2
arr_3_d #No.3 dimension size:4