【Python】Numpy生成等差数组
文章目录
- arange
- linspace
- 对数数组
- 小结
arange
arange
是Numpy中使用频率超高的一个数组生成器,其输入参数可以为一个、两个或者三个。
np.arange(N)
生成[0,N)[0,N)[0,N)区间的所有自然数np.arange(a,b)
生成{a+i∣i∈Z,a+i<b}\{a+i|i\in Z, a+i<b\}{a+i∣i∈Z,a+i<b}np.arange(a,b,delta)
生成{a+δi∣i∈Z,a+δi<b}\{a+\delta i|i\in Z, a+\delta i<b\}{a+δi∣i∈Z,a+δi<b}
>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(3,5)
array([3, 4])
>>> np.arange(3,10,2)
array([3, 5, 7, 9])
linspace
与arange
作用相似的函数是linspace
,其输入参数为np.linspace(a,b,num)
,其含义为,在[a,b][a,b][a,b]区间内等间隔生成num
个数;如果指明endpoint=False
,则不包含bbb点。
>>> np.linspace(1,2,5)
array([1. , 1.25, 1.5 , 1.75, 2. ])
>>> np.linspace(1,2,5,endpoint=False)
array([1. , 1.2, 1.4, 1.6, 1.8])
对数数组
logspace
和linspace
的逻辑是相似的,都是在某个区间内等间隔生成数组,只不过logspace
的等间隔,是对数意义上的等间隔,其等价于10**np.linspace
。
>>> print(np.logspace(1,2,5))
[ 10. 17.7827941 31.6227766 56.23413252 100. ]
>>> print(10**np.linspace(1,2,5))
[ 10. 17.7827941 31.6227766 56.23413252 100. ]
logspace
中的base
参数,可以指定对数的底,例如
>>> print(np.logspace(1,2,5,base=2))
[2. 2.37841423 2.82842712 3.36358566 4. ]
geomspace
同样是等间隔生成对数,但和logspace
的区别是,同样在a,b
区间内生成对数,logspace
生成范围是[10a,10b][10^a,10^b][10a,10b],geomspace
的范围则是[a,b][a,b][a,b]。
>>> print(np.geomspace(1,2,5))
[1. 1.18920712 1.41421356 1.68179283 2. ]
这种区别可能过于微秒,画个图可能理解起来更加容易
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1,2,20)
y = np.logspace(1,2,20)
plt.plot(x,y,marker="*")
plt.show()
x = np.linspace(1,2,20)
y = np.geomspace(1,2,20)
plt.plot(x,y,marker="*")
plt.show()
小结
最后,总结一下这四个函数的区别,首先是linspace
和arange
linspace(a,b,N)
在[a,b][a,b][a,b]中间生成N个值arange(a,b,delta)
在[a,b)[a,b)[a,b)之间,以deltadeltadelta为间隔生成值
然后是三个space
函数
linspace(a,b,N)
在[a,b][a,b][a,b]中间生成N个值logspace(a,b,N,base=c)
在[ca,cb][c^a, c^b][ca,cb]之间等指数间隔生成N个值geomspace(a,b,N,base=c)
在[a,b][a,b][a,b]之间,等指数间隔生成N个值
【Python】Numpy生成等差数组相关推荐
- python numpy库等差不均分_numpy.linspace 生成等差数组的方法
如下所示: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) start:起始值 stop:结 ...
- Python Numpy多维数组.sum(axis=0/1/2...) 详解
Python Numpy多维数组.sum(axis=0/1/2-) 详解 numpy中axis取值的说明 首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维 ...
- Python numpy 多维数组切片
import numpy as npnp.random.seed(1234) A = np.random.randint(0, 6,(5,3)) #生成10行3列数值在[0,6)的随机数组 print ...
- Python NumPy 基础:数组和向量计算
文章目录 1.1 NumPy 的ndarray:一种多维数组对象 创建ndarray ndarray数据类型 NumPy 数组的运算 基本的索引和切片 切片索引 布尔型索引 花式索引 数组转置和轴对换 ...
- 如何使用python numpy中的数组复制
在使用python时我们经常会处理数组,有的时候是复制有的时候不是,这里也是初学者最容易误解的地方,简单讲,可以分为下面三种情况: 不是复制的情况(No Copy at All) import num ...
- python Numpy 生成一个随机矩阵(整数型)
使用numpy的random.randint()函数可以生成元素随机的某一尺寸的矩阵: #randint 即 random integer 随机整数
- python numpy 二维数组reshape成三维数组
如下: >>> a = np.arange(20) >>> a.reshape((4,5)) array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, ...
- numpy生成等差等比数列
文章目录 arange linspace logspace arange numpy.arange([start ], stop[, step ], dtype=None) 功能: Return ev ...
- python numpy生成等差数列、等比数列
import numpy as np # 等差数列 print(np.linspace(0.1, 1, 10, endpoint=True)) print(np.arange(0.1, 1.1, 0. ...
- 等比数列求和python_python numpy生成等差数列、等比数列的实例
如下所示:import numpy as np # 等差数列 print(np.linspace(0.1, 1, 10, endpoint=True)) print(np.arange(0.1, 1. ...
最新文章
- R语言ggplot2可视化、不同分组使用不同的色彩、同一分组(group)的线条使用相同的色彩但是配置使用不同的线型(line type)
- 会计电算化之Excel
- Algorithm:C++语言实现之概率算法相关问题(计算机中的概率事件、C语言中的随机事件、产生二维随机数、圆内均匀取点)
- vb excel编程实例_用过程和函数来解决VB中的计算问题
- mybatis-generator 逆向生成工具(实体、dao、sql)
- getexternalfilesdir 相册_音乐相册(电子相册制作)V5.2 安卓最新版
- mongodb java报授权,mongoDB 3.0用户创建与授权
- python时间格式化
- 新技能 get —— Python 断点续传下载文件
- WebForm与MVC模式优缺点
- 锁定Excel部分单元格不能编辑,可以这样操作
- 芯片设计流程介绍(从硬件设计语言到芯片制造)
- MySQL —— 查询升序和降序
- 简单的卷积神经网络编程,python卷积神经网络训练
- U盘启动的WinPe安装winxp(非ghost版)重启后出现NTLDR IS MISSING的问题
- DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
- [网络安全]诸神之眼--Nmap的使用
- SSL数字证书下载流程是怎么样的
- echarts—地图实现
- Android 布 局 翻 译 器
热门文章
- ijkplayer 代码走读之 播放器网络数据读取过程详解2
- 拉勾网离职风波引人深思 互联网招聘网站还有未来吗?
- 【图】Excel快捷键大全+函数公式 职场必备
- 灭霸一个响指,被腰砍的电子阅读市场步入终局之战?
- 苹果电脑安装双系统有必要吗?
- Unity SetFromToRotation和FromToRotation的区别
- 用python预测超车是否危险_用Python预测泰坦尼克号乘客生存情况
- RuntimeError: Cannot re-initialize CUDA in forked subprocess解决方法之一
- ad 报错Minimum Solder Mask Sliver
- Java Springboot 使用 OpenOffice 实现Excel转PDF