当前位置: 首页 > news >正文

np.zeros函数


np.zeros 是 NumPy 库中的一个非常常用的函数,它的作用是创建一个指定形状和数据类型的新数组,并用 0 来填充所有元素。

np.zeros 的基本用法

函数的完整签名是 numpy.zeros(shape, dtype=float, order='C')

  • shape:你想要创建的数组的形状。可以是一个整数(用于一维数组)或一个元组(用于多维数组)。
  • dtype:数组中元素的数据类型。默认是 float64(浮点型)。
  • order:可选参数,用于指定数组在内存中的存储顺序。

示例 1:创建一维数组

import numpy as np# 创建一个包含 5 个 0 的一维数组
arr1d = np.zeros(5)
print(arr1d)
# 输出: [0. 0. 0. 0. 0.]

示例 2:创建二维数组

# 创建一个 2x3 的二维数组
arr2d = np.zeros((2, 3))
print(arr2d)
# 输出:
# [[0. 0. 0.]
#  [0. 0. 0.]]

示例 3:指定数据类型

如果你需要整数类型的 0,可以指定 dtype=int

# 创建一个 3x3 的整数数组
arr_int = np.zeros((3, 3), dtype=int)
print(arr_int)
# 输出:
# [[0 0 0]
#  [0 0 0]
#  [0 0 0]]

np.zeros 的应用场景

  1. 初始化数组:在许多科学计算和机器学习任务中,我们经常需要创建一个空的或初始值为 0 的数组,然后在后面的代码中填充或修改它。np.zeros 是实现这一点的最简单、最高效的方法。
  2. 独热编码:在独热编码中,如果你想手动实现,你可以先创建一个全零的数组,然后将对应类别位置的元素设置为 1。
    # 假设标签为 2,总类别数为 10
    label = 2
    num_classes = 10# 创建一个长度为 10 的全零数组
    one_hot_label = np.zeros(num_classes)# 将索引为 2 的位置设置为 1
    one_hot_label[label] = 1print(one_hot_label)
    # 输出: [0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
    
  3. 占位符:在构建复杂的数据处理流程时,np.zeros 经常被用作一个占位符,以确保内存空间在开始时就被分配好。

与 np.empty() 和 np.ones() 的区别

  • np.ones(shape):创建一个填充了 1 的数组。
  • np.empty(shape):创建一个指定形状的数组,但其中的元素是未初始化的(即随机的、内存中已有的值),它的速度比 np.zeros 稍快,因为它不需要将所有元素都设置为 0。但它的值是不可预测的,所以除非你确定会马上覆盖所有元素,否则不推荐使用。

总而言之,np.zeros 是一个用于初始化数组的强大且安全的工具,它确保了你创建的数组的所有元素都从 0 开始。

http://www.rkmt.cn/news/4778.html

相关文章:

  • Langchain之让LLM拥有记忆
  • numpy中的shape属性
  • mac 查看fat32磁盘
  • Python数据分析零基础完整课程大纲(详细版)【202509第1版】 - 指南
  • VSTO QQ群 61840693 解散通知【新群193203228 】
  • Clion 实现多个 main 函数执行互不影响
  • 腾讯终于对Claude code下手了?我拿它跑完一个真实项目,结果有点意外…
  • 快速利用AI读论文
  • 日常练习一部分
  • SpringCloud全解:核心组件与实战案例 - 教程
  • 学起plus刷课
  • 202212_风二西_冰蝎流量分析
  • 记账:报表
  • 记账:快速上手
  • Madness - TryHackMe
  • 机器人逆运动学进阶:李代数、矩阵指数与旋转流形计算
  • CSP2025 游记
  • Luogu P14031 【MX-X20-T5】「FAOI-R7」连接时光 II
  • 完整教程:JMeter基本介绍
  • []
  • Source Insight 4.0安装和使用教程
  • ORA-00800
  • 第一周个人作业——我
  • Acrobat Pro DC 2025破解版安装下载教程,附永久免费免中文破解版(稳定版安装包)
  • 华擎、微星、华硕BIOS阵脚线序及杜邦现自制刷机线
  • AT_abc422_f [ABC422F] Eat and Ride 题解
  • 模拟赛 R14
  • Java并发编程(2)
  • 深入解析:精确位置定位,AR交互助力高效作业流程​
  • windows与linux环境下网络编程