目录

  • 一、前言
    • 1、zeros()函数
    • 2、一言以蔽之
      • 参数
        • 1)shape:使用int型或者元组类型的数组
        • 2)dtype:数据类型(可选填,默认为numpy.float64)
        • 3)order:内存中的存储方式(可选填,默认为'C'存储/默认行优先存储)
        • 4)*
        • 5)like:传入array_like(可选填,1.20.0新添加的功能)
      • 返回值:ndarray
    • 3、简单代码
  • 二、zeros_like()函数
    • 1、一言以蔽之
      • 参数:
        • 1)a:array_like
        • 2)dtype:覆盖结果的数据类型(可选填)
        • 3)order:覆盖结果的内存布局
        • 4)subok:布尔类型(可选填)
        • 5)shape:整数或整数序列(可选填)
      • 返回值:ndarray
  • 三、简单代码
  • 四、总结

一、前言

我们在了解zeros_like函数之前,想先带大家了解一下zeros函数。

1、zeros()函数

如果已经熟练使用zeros函数的同学可以直接跳转到下一节!!!

先上一张官方手册:

英文版:

2、一言以蔽之

numpy.zeros()

参数

1)shape:使用int型或者元组类型的数组

2)dtype:数据类型(可选填,默认为numpy.float64)

比如我们常用的dtype = numpy.int32,基本上numpy的api都会有这个可选参数

3)order:内存中的存储方式(可选填,默认为’C’存储/默认行优先存储)

order:{‘C’,‘F’}

C代表行优先存储,F代表列优先存储

4)*

这个看图片没有解释啥意思,我也在学习

如果有知道的同学可以顺便帮忙补充一下

5)like:传入array_like(可选填,1.20.0新添加的功能)

简言之就是使用对象创建不属于NumPy的数组。如果array_like当做like传入的话,必须保证创建的数组对象要适用于刚刚通过like传入的参数。

听起来就头大,这里可以简单任务like要和array_like要匹配

返回值:ndarray

给定shape,dtype,order条件下的数组

3、简单代码

import numpy as np# 创建填充数组
print(np.zeros(5))
## [0. 0. 0. 0. 0.]# 内存中优先以列存储,结果输出与上述相同
print(np.zeros(3,order='F'))
## [0. 0. 0. 0. 0.]# 创建填充二维(可类推三维)
print(np.zeros((3,2),dtype=np.int32))
## [[0 0]
##  [0 0]
##  [0 0]]# 已有元组数据创建数组
arr = (2,3)
print(np.zeros(arr))
## [[0. 0. 0.]
##  [0. 0. 0.]]

二、zeros_like()函数

先上一张官方手册

英文版:

1、一言以蔽之

参数:

1)a:array_like

已经定义了这些返回类型的相同维度和数据类型的数组

2)dtype:覆盖结果的数据类型(可选填)

3)order:覆盖结果的内存布局

order={‘C’,‘F’,‘A’,‘K’}

C:使用C阶(行存储)

F:使用F阶(列存储)

A:如果数组a是连续的,则A等于F。否则A等于C

K:表示要尽可能的匹配到a的shape

4)subok:布尔类型(可选填)

如果是True,新创建的数组使用a的子类类型。

否则是基类数组。

默认为True。

5)shape:整数或整数序列(可选填)

覆盖之前结果的shape

如果order=‘K’,并且维度的数量不改变,将会一直保持order。

否则order='C’是隐含的

返回值:ndarray

和a同样的shape和数据类型(type)的子类零数组(向量)

三、简单代码

import numpy as npx = np.arange(6)
# [0 1 2 3 4 5]# x可以看做基类
x = x.reshape((2,3))
# [[0 1 2]
#  [3 4 5]]# y可以看做子类,此时继承了x的shape
# y把x里的数据重新写为0了
y = np.zeros_like(x)
# [[0 0 0]
#  [0 0 0]]x = np.arange(3.5,dtype = float)
# [0. 1. 2. 3.]# 此时y继承了x的shape。并把数据重置为0
y = np.zeros_like(x)
# [0. 0. 0. 0.]

四、总结

以下为个人观察总结,要是有不对的地方,麻烦各位同学指出改正!!!

我在比较了onesones_like,以及zeroszeros_like函数之后发现了这两队函数都有很大的相似之处。

ones与zeros函数类似,只不过把数组中的0换成了1。

ones_like与zeros_like也类似。

------------------------------------------------------重点分割线-----------------------------------------------------------------

zeros/ones函数是根据给的条件创建一个未有的数组/向量

而zeros_like/ones_like是继承已知数组/向量a,照猫画虎创建一个子类数组/向量,把里面的数据全部置位0或1

------------------------------------------------------重点分割线-----------------------------------------------------------------

佐证来源:两者函数的返回值

zeros:Array of zeros with the given shape, dtype, and order.

zeros_like:Array of zeros with the same shape and type as a.

NumPy学习笔记之zeros_like()函数(包含zeros函数)相关推荐

  1. numpy学习笔记:np.zeros应用——生成三通道全黑Mask(蒙版)

    numpy学习笔记:np.zeros应用--生成三通道全黑Mask(蒙板) np.zeros官方文档:np.zeros官方文档 下面是一段生成256*256三通道全黑mask的demo import ...

  2. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  3. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  4. Numpy学习笔记(下篇)

    目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...

  5. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  6. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  7. NumPy学习笔记 一

    NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  8. 【Numpy学习笔记】

    Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...

  9. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  10. NumPy学习笔记前言

    前言目录 NumPy学习笔记前言 NumPy简介 NumPy学习准备 NumPy中文网 NumPy学习笔记前言 这里主要分享一下我个人学习NumPy的笔记,希望大家多多交流学习,这也是我第一次写CSD ...

最新文章

  1. 爱可可推荐!关于竞赛思路,方法和代码实践,Datawhale数据竞赛Baseline开源分享!...
  2. 把所有的谎言献给你β(找规律数学题)
  3. 世界顶级精英们的人生哲学(转)
  4. 利用JEXL实现动态表达式编译
  5. 三八妇女节可以应用的PSD分层模板
  6. 存放哪些内容 项目中vuex_房屋安全鉴定中房屋抗震检测内容有哪些
  7. SQLSTATE[HY000] [2013] Lost connection to MySQL...
  8. 路由器回执路由配置_三分钟学会路由器各参数功能及设置方法
  9. 三边测量定位算法C语言实现
  10. ROS1云课→22机器人轨迹跟踪
  11. 安科瑞【节能学院】电气火灾监控系统在太焦铁路博爱站房项目的应用
  12. html5播放器声音小,页面声音播放(HTML5 embed标签)
  13. 去掉最高分和最低分的平均分trimmean,计算频率最高的那个数即众数mode.sngl,判断数据是否重复
  14. 不为人知的黑科技||双十一薅羊毛正确姿势
  15. C++中struct的用法
  16. 运维学python哪部分_运维新手们,别再问需不需要学PYTHON了
  17. 关于一个CUE文件及多个分轨APE合并成CUE及APE文件的办法
  18. 全网最硬核 JVM TLAB 分析 6. TLAB 相关热门QA汇总
  19. 飞鱼星方案助山东小城印象实现微信营销
  20. tf.nn.conv1d

热门文章

  1. 用qt调用第三方库resolve
  2. 在lua中调用DLL
  3. springboot获取active_springboot 2.3.0+activeRecord获取对象报类型转换错误
  4. 拿到串口的数据如何解析_详解如何用binlog2sql解析工具来实现mysql数据表异地恢复...
  5. mybatis源码分析详解
  6. linux添加磁盘分区,linux添加磁盘分区
  7. C# 使用 NPOI操作excle文件(读取与新建重写)
  8. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、
  9. FTP 文件上传跟下载
  10. ganglia分布式监控系统