Numpy full_like() 函数
在 Numpy 中,full_like() 函数用于创建一个新的 NumPy 数组,该数组具有与现有数组相同的形状和类型,但填充了指定的值。当我们想要用常量值初始化数组,同时保持引用数组的形状和数据类型时,可以使用此函数。
语法
以下是 Numpy full_like() 函数的语法 -
numpy.full_like(arr, fill_value, dtype=None, order='K', subok=True, shape=None)
参数
以下是 Numpy full_like() 函数的参数 -
- arr - 数组,其形状和类型定义输出数组的形状和类型。
- fill_value - 用于填充数组的值。
- dtype - 返回数组所需的数据类型。如果为 None,则使用 arr 的数据类型。
- subok - 如果为 True,则新创建的数组将使用 arr 的子类类型。
- shape - 如果指定,则覆盖结果的形状。
- order(可选):指定数组的内存布局。如果对象不是数组,则新创建的数组将按 C 语言顺序(行优先)排列,除非指定了 F 顺序,在这种情况下,它将按 Fortran 语言顺序(列优先)排列 -
- 'C':C 风格的行优先顺序。
- 'F':Fortran 风格的列优先顺序。
- 'A':如果输入是 Fortran 连续的,则为 'F',否则为 'C'。
- 'K':这是默认值,使顺序尽可能接近输入。
返回值
此函数返回一个与输入数组形状和类型相同,但填充了指定值的数组。
示例
以下是创建使用 Numpy full_like() 函数,创建一个形状与现有数组相同的 NumPy 数组,并填充指定值 -
import numpy as np Numpy_Array = np.array([[1, 2, 3], [4, 5, 6]]) filled_array = np.full_like(Numpy_Array, fill_value=7) print("Numpy 数组填充了 7 - ", filled_array)
输出
以下是上述代码的输出:
Numpy 数组填充了 7 - [[7 7 7] [7 7 7]]
示例:指定数据类型
我们可以使用 dtype 参数指定数组的数据类型。例如,我们可以创建一个由指定值填充的浮点数数组。
以下示例中,数组填充了值 3.14,数据类型设置为 float32 −
import numpy as np array_b = np.array([[7, 8, 9], [10, 11, 12]], dtype=np.int32) filled_array_float = np.full_like(array_b, fill_value=3.14, dtype=np.float32) print("Numpy 数组填充了 3.14(浮点数据类型)- ", filled_array_float)
输出
以下是输出以上代码 −
Numpy 数组填充 3.14(浮点数据类型) - [[3.14 3.14 3.14] [3.14 3.14 3.14]]
示例:多维数组
numpy.full_like() 函数也可用于创建填充指定值的多维数组,同时匹配现有多维数组的形状。
在以下示例中,我们创建了一个填充了值 5 的三维数组,其形状与 3x3x3 引用数组相同 −
import numpy as np my_array = np.ones((3, 3, 3)) filled_3d_array = np.full_like(my_array, fill_value=5) print("填充了 5 个值的 3D Numpy 数组 - ", filled_3d_array)
输出
以下是上述代码的输出 -
填充了 5 个值的 3D Numpy 数组 - [[[5. 5. 5.] [5. 5. 5.] [5. 5. 5.]] [[5. 5. 5.] [5. 5. 5.] [5. 5. 5.]] [[5. 5. 5.] [5. 5. 5.] [5. 5. 5.]]]
numpy_array_creation_routines.html