Numpy zeros_like() 函数
Numpy zeros_like() 函数用于创建一个新的 Numpy 数组,其形状和类型与现有数组相同,但填充了零。这对于初始化特定形状的数组(无需手动定义维度)非常有用。
语法
以下是 Numpy zeros_like() 函数的语法 -
numpy.zeros_like(arr, dtype=None, order='K', subok=True, shape=None)
参数
以下是 Numpy zeros_like() 函数的参数 -
- arr:数组,其形状和类型定义输出数组的形状和类型。
- dtype:返回数组所需的数据类型。如果为 None,则使用 a 的数据类型。
- subok:如果为 True,则新创建的数组将使用 a 的子类类型。
- shape:覆盖结果的形状。
- order(可选):指定数组的内存布局。如果对象不是数组,则新创建的数组将按 C 语言顺序(行优先)排列,除非指定了 F 顺序,在这种情况下,它将按 Fortran 顺序(列优先)排列 -
- 'C':C 风格的行优先顺序。
- 'F':Fortran 风格的列优先顺序。
- 'A':如果输入是 Fortran 连续的,则为 'F',否则为 'C'。
- 'K':这是默认值,使顺序尽可能接近输入。
返回值
此函数返回一个由零组成的数组,其形状和类型与输入数组相同。
示例
以下是创建 numpy 数组的基本示例,该数组包含使用 Numpy zeros_like() 函数,将零元素转换为与现有数组形状相同的元素 -
import numpy as np Numpy_Array = np.array([[1, 2, 3], [4, 5, 6]]) zeros_array = np.zeros_like(Numpy_Array) print("Numpy 零元素数组 - ", zeros_array)
输出
以下是上述代码的输出:
Numpy 零元素数组 - [[0 0 0] [0 0 0]]
示例:指定数据类型
我们可以指定数据类型使用 dtype 参数的零数组。例如,如果我们需要浮点数据类型,则需要将 dtype 参数设置为 'float'。
浮点数据类型数组
在以下示例中,零值数组的指定数据类型为 float32 -
import numpy as np array_b = np.array([[7, 8, 9], [10, 11, 12]], dtype=np.int32) zeros_array_float = np.zeros_like(array_b, dtype=np.float32) print("Numpy 浮点数据类型零值数组 - ", zeros_array_float)
输出
以下是上述代码的输出代码:
Numpy 浮点型零值数组 - [[0. 0. 0.] [0. 0. 0.]]
字符串数据类型数组
当我们使用 numpy.zeros_like() 创建字符串数据类型数组时,它会将现有数组的每个值替换为空字符串 ('') -
import numpy as np array_b = np.array([[7, 8, 9], [10, 11, 12]], dtype=np.int32) zeros_array_string = np.zeros_like(array_b, dtype=np.str_) print("Numpy 字符串数据类型的零值数组 - ", zeros_array_string)
输出
以下是上述代码的输出代码:
Numpy 字符串数据类型的零值数组 - [['' '' ''] ['' '' '']]
示例:多维数组
numpy.zeros_like() 函数可用于创建一个由零填充的数组,其形状和类型与现有多维数组匹配。这对于初始化与引用数组具有相同维度和数据类型的数组非常有用。
在本例中,我们创建一个由零元素组成的三维数组,其形状为 3x3x3 数组 -
import numpy as np my_array = np.ones((3, 3, 3)) zeros_3d_array = np.zeros_like(my_array) print("3D Numpy 零元素数组 - ", zeros_3d_array)
输出
3D Numpy 零元素数组 - [[[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]] [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]] [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]]]
numpy_array_creation_routines.html