python基础之Numpy二

117 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情

NumPy 是 Python 中科学计算的基础包。它是一个 Python 库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种例程,包括数学、逻辑、形状操作、排序、选择、I/O 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。

上一篇文章我们讲了python numpy的安装和一些基本的概念,今天我们来继续说一下一维数组、二维数组和三位数组的介绍。

向量(一维数组)

向量一般也称之为一维数据组是值的集合。

例如下面这个例子:

import numpy as np

vec = np.array([1, 2, 3, 4, 5])
print(vec.ndim)
print(vec.shape)
输出:
1
 (5,)

vec.shape[0]输出的是这个一维数组中的值的数量,在这里的值就是5。

#矩阵(二维数组)

矩阵,也成为二维数组,是向量的集合。

import numpy as np

mat = np.array([
    [1, 2, 3],
    [5, 6, 7]
])

print(mat.ndim)
print( mat.shape)

>>>2
>>>(2, 3)

在这里,我们会使用列表来创建矩阵,例如下面的例子,这是用列表创建的一个2x3 的矩阵们也叫2D的数组,这个矩阵(2D数组),有两个轴,mat.shape元组包含两个值:第一个值是行数,第二个值是列数。

矩阵

矩阵

在二维数组中,每一个行都表示一个带方向的向量,也就是一个一维数组。

#3D 阵列

经过上面的一些讲解,我们很容易理解3D数组,3D数组就是个矩阵的集合,如下

import numpy as np

t = np.array([
    [[1, 3, 9],
     [7, -6, 2]],

    [[2, 3, 5],
     [0, -2, -2]],

    [[9, 6, 2],
     [-7, -3, -12]],

    [[2, 4, 5],
     [-1, 9, 8]]
])

print(t.ndim)
print(t.shape)
输出:
3
(4, 2, 3)

在这个例子中,我们使用了4个列表来组成了一个3D数组

3D 阵列

3D 阵列

3D 数组中的每个项目都是一个矩阵(1D 数组)。请注意,数组中的最后一个矩阵是图像中最前面的。