开发者

NumPy zeros()函数使用小结

开发者 https://www.devze.com 2026-01-08 09:17 出处:网络 作者: 程序员风屿
价值2999元 Java视频教程限时免费下载
专为Java开发者设计,涵盖核心技术、架构设计、性能优化等
立即下载
目录一、函数简介二、参数详解参数解析三、相关示例示例 1:创建一维数组示例 2:创建二维数组示例 3:创建三维数组示例 4:使用不同的数据类型四、zeros()与empty()的区别NumPy(Numerical python)是Python科学计算
目录
  • 一、函数简介
  • 二、参数详解
    • 参数解析
  • 三、相关示例
    • 示例 1:创建一维数组
    • 示例 2:创建二维数组
    • 示例 3:创建三维数组
    • 示例 4:使用不同的数据类型
  • 四、zeros()与empty()的区别

    NumPy(Numerical python)是Python科学计算领域的核心库。它提供了强大的多维数组对象,以及用于处理这些数组的工具。在数据科学、机器学习和工程计算中经常需要创建特定形状和数据类型的数组。本文将重点介绍 NumPy 中一个基础且极其重要的函数:numpy.zeros()

    一、函数简介

    numpy.zeros() 函数用于创建一个指定形状(shape)和数据类型(dtype)的新的 NumPy 数组,并用填充该数组的每一个元素。

    在需要初始化矩阵或张量、作为累fQAmbvkz加器的起始值python,或在分配内存以供后续计算时,这个函数都非常实用。

    它和zeros_like()函数的比较见NumPy zeros_like() 函数详解

    官方函数解析numpy.zeros

    NumPy zeros()函数使用小结

    二、参数详解

    numpy.zeros() 的基本函数签名如下:

    numpy.zeros(shape, dtype=float, order='C', *, like=None)
    

    参数解析

    1. shape (必须):
      • 定义新数组的维度。
      • 可以是一个整数(表示一维数组的大小),也可以是一个整数元组(例如 (rows, columns) 表示二维数组,或 (d1, d2, d3) 表示三维数组)。
    2. dtype(可选,默认为 float64):
      • 定义数组中元素的数据类型,例如 int(整数)、float(浮点数)、complex(复数)等。
      • 通常使用 np.int32、np.float64 或简单地使用 Python 的 int、float。
    3. order(可选,默认为 'C'):
      • 指定数组在内存中的存储顺序。
      • 'C' 表示行主序(C 语言风格),即最后一个轴变化最快。
      • 'F' 表示列主序(Fortran 风格),即第一个轴变化最快。
    4. like(可选):
      • (NumPy 1.20.0 版本新增)允许创建一个与给定对象具有相同属性(如 shape 和 dtype)的数组,但使用零填充。

    三、相关示例

    示例 1:创建一维数组

    创建一个包含 5 个元素的零数组,默认数据类型为浮点数:

    import numpy ajavascripts np
    
    # 创建一个包含 5 个浮点数 0 的一维数组
    arr1 = np.zeros(5)
    print(arr1)
    print(f"数据类型:{arr1.dtype}")
    # 输出: [0. 0. 0. 0. 0.]
    # 数据类型:float64
    

    示例 2:创建二维数组

    创建一个 3 行 4 列的二维数组,并指定数据类型为整数:

    # 创建一个 3x4 的整数零矩阵
    arr2 = np.zeros((3, 4), dtype=int)
    print(arr2)
    print(f"数据类型:{arr2.dtype}")
    # 输出:
    # [[0 0 0 0]
    #  [0 0 0 0]javascript
    #  [0 0 0 0]]
    # 数据类型:int64 (或根据平台可能是 int32)
    

    示例 3:创建三维数组

    创建一个 2x3x2 的三维数组(例如,2 个 3x2 的切片):

    # 创建一个 2x3x2 的三维数组
    arr3 = np.zeros((2, 3, 2))
    print(arr3)
    print(f"维度:{arr3.shape}")
    # 输出:
    # [[[0. 0.]
    #   [0. 0.]
    #   [0. 0.]]
    #
    #  [[0. 0.]www.devze.com
    #   [0. 0.]
    #   [0. 0.]]]
    # 维度:(2, 3, 2)
    

    示例 4:使用不同的数据类型

    创建包含 32 位浮点数(更节省内存)的数组:

    # 指定 dtype 为 float32
    arr4 = np.zeros((2, 2), dtype=np.float32)
    
    print(arr4)
    print(f"数据类型:{arr4.dtype}")
    # 数据类型:float32
    

    四、zeros()与empty()的区别

    在 NumPy 中,另一个用于创建新数组的函数是 numpy.empty()。了解两者之间的关键区别至关重要:

    特性numpy.zeros(shape)numpy.empty(shape)
    元素值保证所有元素都被初始化为 零。元素值是未初始化的(可能包含内存中已有的随机值)。
    速度略慢,因为它必须写入所有的零。极快,因为它跳过了初始化元素的步骤。
    用途需要一个干净、零值数组作为起点时。当确定会立即用有意义的值覆盖数组的全部内容时,用于性能优化。

    除非是在处理对性能极其敏感的场景,并且非常确定会完全覆盖数组,否则通常建议使用 np.zeros(),因为它更安全、更可预测。

    到此这篇关于NumPy zeros() 函数详解的文章就介绍到这了,更多相关NumPy zeros() 函数内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0
    价值2999元 Java视频教程限时免费下载
    专为Java开发者设计,涵盖核心技术、架构设计、性能优化等
    立即下载

    精彩评论

    暂无评论...
    验证码 换一张
    取 消