您的位置 首页 知识

python np.zeros函数 python中np.zeros_like函数

python np.zeros函数 python中np.zeros_like函数

目录
  • 前言
  • 语法:
  • 参数:
  • 返回值:
  • 使用示例:
    • 1.创建与现有数组相同形状的零数组
    • 2.指定数据类型dtype
    • 3.与np.zeros()的比较
    • 4.指定内存布局
    • 5.与np.zeros()的区别
  • 划重点:

    前言

    np.zeros_like是 NumPy 库中的一个函数,用于创建一个与给定数组具有相同形状和类型的数组,并将所有元素初始化为 0。

    语法:

    np.zeros_like(a, dtype=None, order=’K’, subok=True)

    参数:

    • a:输入的数组。新的数组将具有与a相同的形状和类型。
    • dtype(可选):指定返回数组的数据类型。如果没有指定,默认为输入数组a的数据类型。
    • order(可选):指定返回数组的内存布局,&039;C&039;为行主序(C-style),&039;F&039;为列主序(Fortran-style)。默认为&039;K&039;,意味着返回数组的内存布局尽量与输入数组一致。
    • subok(可选):如果为True,返回的数组将保持子类的类型。如果为False,则返回的数组是ndarray类型。默认值为True

    返回值:

    返回一个具有与输入数组相同形状和类型的新数组,且数组的所有元素都初始化为 0。

    使用示例:

    1.创建与现有数组相同形状的零数组

    import numpy as np 创建一个原始数组arr = np.array([[1, 2, 3], [4, 5, 6]]) 使用 np.zeros_like 创建一个与 arr 形状相同的零数组arr_zeros = np.zeros_like(arr)print(arr_zeros) 输出: [[0 0 0] [0 0 0]]

    在这个例子中,arr_zeros一个与arr形状相同的数组,且所有元素都初始化为 0。

    2.指定数据类型dtype

    你可以指定新数组的数据类型,而不必依赖输入数组的类型。例如,如果你希望返回一个浮点类型的数组:

    arr_zeros_float = np.zeros_like(arr, dtype=float)print(arr_zeros_float) 输出: [[0. 0. 0.] [0. 0. 0.]]

    这里,返回的数组类型是float,即使原数组arr的元素是整数类型。

    3.与np.zeros()的比较

    np.zeros_like()np.zeros()相似,然而np.zeros_like()会根据现有数组的形状和类型创建零数组,而np.zeros()需要显式指定形状。

    使用 np.zeros 创建一个 2×3 的零数组arr_zeros_manual = np.zeros((2, 3)) 使用 np.zeros_like 根据 arr 创建一个零数组arr_zeros_like = np.zeros_like(arr)print(np.array_equal(arr_zeros_manual, arr_zeros_like)) 输出: True

    两者都创建了形状为(2, 3)的零数组,但np.zeros_like()根据现有数组arr的形状和类型自动生成零数组。

    4.指定内存布局

    通过order参数,你可以指定返回数组的内存布局。默认情况下,np.zeros_like()会使用&039;K&039;,即尽量与输入数组一致,但你也可以指定为&039;C&039;&039;F&039;

    arr_zeros_c = np.zeros_like(arr, order=’C’) 使用行主序arr_zeros_f = np.zeros_like(arr, order=’F’) 使用列主序print(arr_zeros_c.flags[‘C_CONTIGUOUS’]) 输出: True,表示是 C-style 存储print(arr_zeros_f.flags[‘F_CONTIGUOUS’]) 输出: True,表示是 Fortran-style 存储

    5.与np.zeros()的区别

    np.zeros()用于根据给定形状创建零数组,而np.zeros_like()用于创建一个形状和数据类型与现有数组相同的零数组。np.zeros_like()np.zeros()更加灵活,由于它能够继承现有数组的形状和类型,而不需要你重新指定。

    划重点:

    • np.zeros_like(a):创建一个与a形状和数据类型相同的零数组。
    • 可选参数dtype可以指定返回数组的数据类型。
    • order控制返回数组的内存布局(默认为K)。
    • 它通常用于在现有数组的基础上创建零数组,特别是在需要保证形状和类型一致时。

    这种技巧非常适合在进行数组计算时初始化一个与其他数组具有相同形状的零数组。

    到此这篇关于python中np.zeros_like函数用法详解的文章就介绍到这了,更多相关pythonnp.zeros_like函数内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    无论兄弟们可能感兴趣的文章:

    • Python astype(np.float)函数使用技巧解析
    • python?中的np.zeros()和np.ones()函数详解
    • python中的np.round()函数示例详解