迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

NumPy 中的填充

作者:迹忆客 最近更新:2024/03/12 浏览次数:

Python 不允许直接使用数组。这就是 NumPy 库的用武之地,它使得在 Python 中处理和操作数组成为可能。

数组可以是任何指定的大小和维度。有时,需要补偿任何特定数组的尺寸,这就是填充派上用场的地方。

简单来说,填充是指在谈论数组时向任何行或列添加无意义的值,通常是零。它被广泛用于补偿缺少的数组或矩阵中的大量行或列。

本教程演示了如何在 Python 中填充 NumPy 数组。例如,我们将在本教程中用零填充给定的 NumPy 数组。


在 Python 中使用 NumPy.pad() 函数填充 NumPy 数组

顾名思义,NumPy.pad() 函数用于对 NumPy 数组执行填充操作。

NumPy.pad() 函数的语法如下。

numpy.pad(array, pad_width, mode="constant", **kwargs)

NumPy.pad() 函数的所有参数已在下面定义,以便于读者理解。

  1. array - 参数指定必须填充的数组。

  2. pad_width - 它指定将添加到所有轴边缘的值的数量。元组用于指定多维数组的宽度。

  3. mode - 一个可选参数指定阵列的模式。

  4. **kwargs - 可以在函数内传递可变关键字长度的参数。提及是可选的,你可以在线阅读有关它的更多信息。

    本文中的示例没有使用此参数。

在这里,我们将举一个多维数组的例子,但同样可以通过稍微调整代码来处理一维数组。

以下代码使用 NumPy.pad() 函数在 Python 中填充 NumPy 数组。

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.pad(x, [(0, 1), (0, 1)], mode="constant")
print(y)

上面的代码提供了以下输出。

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]

在这里,我们对多维数组执行填充操作以将其维度扩展到我们指定的大小。


在 Python 中使用 shape() 函数填充 NumPy 数组

这是一种间接方法,也能够实现与 NumPy.pad() 函数相同的结果。shape() 函数是 NumPy 库中包含的另一个函数,可以在将此库导入代码后访问。

shape 函数用于确定给定数组或矩阵的维数。

这个方法有点牵强,因为它根据用户的需要创建一个具有所需维度的新空矩阵,然后将原始矩阵插入到新创建的空矩阵中。它实现了相同的结果,但在获得结果的过程中采用了不同的间接路径。

除了 shape() 函数外,此方法还使用 NumPy.zeros() 方法来创建空矩阵。

对于这种方法,我们需要一个参考矩阵,其尺寸满足用户在填充后的目标尺寸的需求,因为我们首先参考创建空矩阵所需的最终尺寸。

以下代码使用 shape() 函数在 Python 中填充 NumPy 数组。

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.array(
    [
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
    ]
)
z = np.zeros(np.shape(y))
z[: x.shape[0], : x.shape[1]] = x
print(z)

上面的代码提供了以下输出。

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Python 中将 Tensor 转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:118 分类:Python

在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。

将 PIL 图像转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:153 分类:Python

在 Python 中,可以使用两种主要方法将 PIL 图像转换为 3 维 NumPy 数组:numpy.array()函数和 numpy.asarray()函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便