NumPy学习笔记之zeros_like()函数(包含zeros函数)
目录
- 一、前言
- 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.]
四、总结
以下为个人观察总结,要是有不对的地方,麻烦各位同学指出改正!!!
我在比较了ones与ones_like,以及zeros与zeros_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函数)相关推荐
- numpy学习笔记:np.zeros应用——生成三通道全黑Mask(蒙版)
numpy学习笔记:np.zeros应用--生成三通道全黑Mask(蒙板) np.zeros官方文档:np.zeros官方文档 下面是一段生成256*256三通道全黑mask的demo import ...
- OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC
OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- 【Numpy学习笔记】
Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- NumPy学习笔记前言
前言目录 NumPy学习笔记前言 NumPy简介 NumPy学习准备 NumPy中文网 NumPy学习笔记前言 这里主要分享一下我个人学习NumPy的笔记,希望大家多多交流学习,这也是我第一次写CSD ...
最新文章
- 爱可可推荐!关于竞赛思路,方法和代码实践,Datawhale数据竞赛Baseline开源分享!...
- 把所有的谎言献给你β(找规律数学题)
- 世界顶级精英们的人生哲学(转)
- 利用JEXL实现动态表达式编译
- 三八妇女节可以应用的PSD分层模板
- 存放哪些内容 项目中vuex_房屋安全鉴定中房屋抗震检测内容有哪些
- SQLSTATE[HY000] [2013] Lost connection to MySQL...
- 路由器回执路由配置_三分钟学会路由器各参数功能及设置方法
- 三边测量定位算法C语言实现
- ROS1云课→22机器人轨迹跟踪
- 安科瑞【节能学院】电气火灾监控系统在太焦铁路博爱站房项目的应用
- html5播放器声音小,页面声音播放(HTML5 embed标签)
- 去掉最高分和最低分的平均分trimmean,计算频率最高的那个数即众数mode.sngl,判断数据是否重复
- 不为人知的黑科技||双十一薅羊毛正确姿势
- C++中struct的用法
- 运维学python哪部分_运维新手们,别再问需不需要学PYTHON了
- 关于一个CUE文件及多个分轨APE合并成CUE及APE文件的办法
- 全网最硬核 JVM TLAB 分析 6. TLAB 相关热门QA汇总
- 飞鱼星方案助山东小城印象实现微信营销
- tf.nn.conv1d
热门文章
- 用qt调用第三方库resolve
- 在lua中调用DLL
- springboot获取active_springboot 2.3.0+activeRecord获取对象报类型转换错误
- 拿到串口的数据如何解析_详解如何用binlog2sql解析工具来实现mysql数据表异地恢复...
- mybatis源码分析详解
- linux添加磁盘分区,linux添加磁盘分区
- C# 使用 NPOI操作excle文件(读取与新建重写)
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、
- FTP 文件上传跟下载
- ganglia分布式监控系统