📜  numpy 填充空数组 - Python (1)

📅  最后修改于: 2023-12-03 15:33:14.421000             🧑  作者: Mango

NumPy:填充空数组

在NumPy中,我们经常需要填充一个空的数组或向量。使用 zeros() 函数或 ones() 函数可以创建一个所有元素都是 0 或者所有元素都是 1 的数组。但是,有时候我们需要创建一个自己定义的数组,例如只包含 0、1 或任意其他数字。

下面是一些填充数组的基本方法。

使用zeros()函数

要创建一个全是 0 的数组,我们可以使用 zeros() 函数。下面的例子创建一维 5 个元素,每个元素都是 0 的数组:

import numpy as np

arr = np.zeros(5)
print(arr)

输出:

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

我们也可以创建一个多维的 2x3 的矩阵全部填充为 0:

arr = np.zeros((2,3))
print(arr)

输出:

[[0. 0. 0.]
 [0. 0. 0.]]
使用ones()函数

要创建一个全是 1 的数组,我们可以使用 ones() 函数。下面的例子创建一维 5 个元素,每个元素都是 1 的数组:

arr = np.ones(5)
print(arr)

输出:

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

我们也可以创建一个多维的 2x3 的矩阵全部填充为 1:

arr = np.ones((2,3))
print(arr)

输出:

[[1. 1. 1.]
 [1. 1. 1.]]
使用full()函数

要创建一个数组,其中所有元素都是相同的值,我们可以使用 full() 函数。下面的例子创建一维 5 个元素,每个元素都是 7 的数组:

arr = np.full(5, 7)
print(arr)

输出:

[7 7 7 7 7]

我们也可以创建一个多维的 2x3 的矩阵全部填充为 7:

arr = np.full((2,3), 7)
print(arr)

输出:

[[7 7 7]
 [7 7 7]]
使用arange()函数和reshape()函数

我们也可以使用 arange() 函数创建一个连续的数组,然后使用 reshape() 函数将其变形为我们想要的形状。下面的例子创建一个连续的 0 到 4 的数组,然后将其调整为一维 5 个元素的数组:

arr = np.arange(5).reshape(5)
print(arr)

输出:

[0 1 2 3 4]

我们也可以将其调整为多维的 2x3 的矩阵:

arr = np.arange(6).reshape((2,3))
print(arr)

输出:

[[0 1 2]
 [3 4 5]]
使用tile()函数

我们可以使用 tile() 函数将一个数组复制若干次,然后将这些副本连接在一起。下面的例子创建一个 2 个 0 的数组,然后将其复制 3 次并连接在一起:

arr = np.tile(0, 2)
arr = np.tile(arr, 3)
print(arr)

输出:

[0 0 0 0 0 0]

我们也可以将两个数组连接在一起:

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.tile(np.concatenate((arr1, arr2)), 2)
print(arr)

输出:

[1 2 3 4 5 6 1 2 3 4 5 6]

总结:

本文介绍了一些基本方法来使用NumPy填充一个空的数组或向量。使用 zeros() 函数或 ones() 函数可以创建一个所有元素都是 0 或者所有元素都是 1 的数组。使用 full() 函数可以创建一个数组,其中所有元素都是相同的值。使用 arange() 函数和 reshape() 函数,我们可以创建一个连续的数组并调整其形状。使用 tile() 函数复制数组并将这些副本连接在一起。