如何创建一个给定范围内的 numpy 数组?
在 Python 中,NumPy 及其数组类型用于执行数值计算任务。你可以通过 NumPy 中的 numpy.array()
函数来创建一个 N 维数组,并可以在其中指定给定的范围。
更多Python文章,请阅读:Python 教程
创建已知范围的一维数组
想象一下你想要创建一个 1 到 8 的一维数组。你可以使用 numpy.arange()
函数,像这样:
import numpy as np
a = np.arange(1, 9)
print(a)
这将输出:
[1 2 3 4 5 6 7 8]
在这个例子中,你传递给该函数的参数是范围的左右两端,即 1 和 9。该函数的输出将包含所有这些值,但不包括右端点 9。
创建给定范围的二维数组
如果你想要创建一个包含与 3 x 3 区域内所有值的二维 NumPy 数组,你可以使用 numpy.mgrid[]
对象,如下所示:
x, y = np.mgrid[0:3, 0:3]
print(x)
print(y)
这将输出:
array([[0, 0, 0],
[1, 1, 1],
[2, 2, 2]])
array([[0, 1, 2],
[0, 1, 2],
[0, 1, 2]])
在这个例子中,我们使用 mgrid[]
创建两个 3 x 3 的格网。第一项参数是行数,第二项参数是列数。最后,我们可以使用它们的值,如上所示。
创建特定列和行的三维数组
在这个例子中,我们将创建一个 5 x 5 x 5 的数组,其中第一维代表行,第二维代表列,第三维代表深度。通过使用 numpy.indices()
函数和它返回的结果,我们可以创建一个具有指定行和列的三维数组。
x, y, z = np.indices((5, 5, 5))
print(x)
print(y)
print(z)
这将输出:
array([[[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4]],
[[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4]],
...
[[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4]]])
结论
本文介绍了用于创建给定范围内的 NumPy 数组的方法。你可以通过 numpy.arange()
、numpy.mgrid[]
和 numpy.indices()
来指定所需的数组范围。在创建数组时,请确保用正确的函数和参数来配置数组的形状和维度。