当前位置: 首页 > 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.wxhsa.cn/company.asp?id=4052

相关文章:

  • Langchain之让LLM拥有记忆
  • 25.9.14
  • .net PublishSingleFile 打包程序提取
  • 实用指南:Java类加载机制
  • C 语言注释
  • 扫描线
  • C语言中的查找与排序算法整理
  • k8s练习
  • css-2
  • AtCoder Beginner Contest 423 ABCDEF 题目解析
  • numpy中的shape属性
  • mac 查看fat32磁盘
  • 使用Smart-Doc为Java项目生成gRPC API文档
  • 数字时钟用的什么字体
  • Python数据分析零基础完整课程大纲(详细版)【202509第1版】 - 指南
  • 详细介绍:uni-app 根据用户不同身份显示不同的tabBar
  • VSTO QQ群 61840693 解散通知【新群193203228 】
  • kettle从入门到精通 第107课 ETL之kettle json_input 一个点号引发的血案
  • 【2024-2025第二学期】助教工作学期总结
  • Clion 实现多个 main 函数执行互不影响
  • 腾讯终于对Claude code下手了?我拿它跑完一个真实项目,结果有点意外…
  • 快速利用AI读论文
  • 第一周预习作业(AI)
  • HTTP协议核心概念全解析 - 实践
  • Django过时了吗?从ASGI到AI时代的思考
  • 日常练习一部分
  • 世界史
  • 罗技M275鼠标滚轮断轴维修:建模+3D打印修复全过程
  • Unity:网络编程
  • 【比赛记录】2025CSP-S模拟赛45