NumPy zeros()函数使用小结

 更新时间:2026年01月07日 08:52:03   作者:程序员风屿  
这篇文章主要介绍了NumPy zeros()函数使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

一、函数简介

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

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

📖它和zeros_like()函数的比较见NumPy zeros_like() 函数详解
官方函数解析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 as 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]
#  [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.]
#   [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() 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch获取模型某一层参数名及参数值方式

    pytorch获取模型某一层参数名及参数值方式

    今天小编就为大家分享一篇pytorch获取模型某一层参数名及参数值方式,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 使用 PyQt5 设计下载远程服务器日志文件程序的思路

    使用 PyQt5 设计下载远程服务器日志文件程序的思路

    这篇文章主要介绍了使用 PyQt5 设计下载远程服务器日志文件程序,借助 PyQt5 强大的能力,我们可以通过“拖拉拽”的形式很容易地实现桌面端程序,只需要将原来的 Python 脚本绑定到 UI 程序的事件中,就实现了命令行程序到桌面程序的演进,需要的朋友可以参考下
    2022-11-11
  • Django imgareaselect手动剪切头像实现方法

    Django imgareaselect手动剪切头像实现方法

    这篇文章主要介绍了Django imgareaselect手动剪切头像实现方法,实例分析了Django框架操作图片的相关技巧,需要的朋友可以参考下
    2015-05-05
  • pytorch 计算ConvTranspose1d输出特征大小方式

    pytorch 计算ConvTranspose1d输出特征大小方式

    这篇文章主要介绍了pytorch 计算ConvTranspose1d输出特征大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 深入了解Python中的序列解包

    深入了解Python中的序列解包

    在Python中,序列解包(Sequence Unpacking)指的是将一个序列(或任何可迭代的对象)解包,并将得到的值存储在一系列变量中,下面我们就来学习一下Python中序列解包的用法吧
    2023-10-10
  • Python中用Decorator来简化元编程的教程

    Python中用Decorator来简化元编程的教程

    这篇文章主要介绍了Python中用Decorator来简化元编程的教程,来自于IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • python简单区块链模拟详解

    python简单区块链模拟详解

    这篇文章主要介绍了python简单区块链模拟详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python 自动化偷懒的四个实用操作

    python 自动化偷懒的四个实用操作

    这篇文章主要介绍了python 自动化偷懒的四个实用操作,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python实现将中文大写金额转数字金额

    Python实现将中文大写金额转数字金额

    在日常的财务处理、票据识别或金融系统开发中,我们常常需要将中文大写的金额转换为阿拉伯数字形式,下面我们就来看看如何使用Python实现这一需求吧
    2025-09-09
  • Python虚拟环境项目实例

    Python虚拟环境项目实例

    这篇文章主要介绍了Python虚拟环境项目实例步骤,以及遇到的问题解决办法。
    2017-11-11

最新评论