📅  最后修改于: 2023-12-03 14:46:38.598000             🧑  作者: Mango
在 NumPy 中,numpy.zeros_like()
是一个返回以另一个数组为形状和类型的数组,并以零填充的函数。这是一个非常方便的函数,因为它允许我们创建一个形状和类型与现有数组相同的新数组,在某些情况下特别有用。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.zeros_like(a)
print(b)
上面的代码将输出一个新的全零数组,其形状和类型与数组 a
相同:
array([[0, 0, 0],
[0, 0, 0]])
如果 a
是其他数据类型的数组,np.zeros_like()
函数创建的数组将具有同样的数据类型。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]], dtype=float)
b = np.zeros_like(a)
print(b)
上面的代码将输出一个新的全零数组,其形状和类型与数组 a
相同:
array([[0., 0., 0.],
[0., 0., 0.]])
numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)
None
,即返回的数组将使用 a
的数据类型。'K'
。True
,则返回的数组将是一个子类化的数组类型。默认为 True
。shape
参数,则会引发警告。在较早的版本中,始终忽略该参数。下面是一些示例,展示了如何使用 numpy.zeros_like()
创建新数组:
import numpy as np
# 创建一个形状和类型与现有数组相同的全零数组
a = np.array([[1, 2], [3, 4]])
b = np.zeros_like(a)
# 输出 [[0 0]
# [0 0]]
print(b)
# 创建一个形状和类型与现有数组相同的全零数组,并指定数据类型
a = np.array([[1, 2], [3, 4]], dtype=float)
b = np.zeros_like(a, dtype=int)
# 输出 [[0 0]
# [0 0]]
print(b)
# 创建一个形状与现有数组不同的全零数组
a = np.array([[1, 2], [3, 4]])
b = np.zeros((3, 3))
# 输出 [[0. 0. 0.]
# [0. 0. 0.]
# [0. 0. 0.]]
print(b)
# 创建一个形状与现有数组不同的全零数组,并指定数据类型
a = np.array([[1, 2], [3, 4]], dtype=float)
b = np.zeros((3, 3), dtype=int)
# 输出 [[0 0 0]
# [0 0 0]
# [0 0 0]]
print(b)
numpy.zeros_like()
是一个非常方便的函数,可以使用现有数组的形状和类型创建新数组,并将其填充为零。这在某些情况下是非常有用的,特别是当需要与现有数组相同的形状和数据类型的全零数组时。