文章目录

  • 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])

对数数组

logspacelinspace的逻辑是相似的,都是在某个区间内等间隔生成数组,只不过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()

小结

最后,总结一下这四个函数的区别,首先是linspacearange

  • 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生成等差数组相关推荐

  1. python numpy库等差不均分_numpy.linspace 生成等差数组的方法

    如下所示: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) start:起始值 stop:结 ...

  2. Python Numpy多维数组.sum(axis=0/1/2...) 详解

    Python Numpy多维数组.sum(axis=0/1/2-) 详解 numpy中axis取值的说明 首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维 ...

  3. Python numpy 多维数组切片

    import numpy as npnp.random.seed(1234) A = np.random.randint(0, 6,(5,3)) #生成10行3列数值在[0,6)的随机数组 print ...

  4. Python NumPy 基础:数组和向量计算

    文章目录 1.1 NumPy 的ndarray:一种多维数组对象 创建ndarray ndarray数据类型 NumPy 数组的运算 基本的索引和切片 切片索引 布尔型索引 花式索引 数组转置和轴对换 ...

  5. 如何使用python numpy中的数组复制

    在使用python时我们经常会处理数组,有的时候是复制有的时候不是,这里也是初学者最容易误解的地方,简单讲,可以分为下面三种情况: 不是复制的情况(No Copy at All) import num ...

  6. python Numpy 生成一个随机矩阵(整数型)

    使用numpy的random.randint()函数可以生成元素随机的某一尺寸的矩阵: #randint 即 random integer 随机整数

  7. python numpy 二维数组reshape成三维数组

    如下: >>> a = np.arange(20) >>> a.reshape((4,5)) array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, ...

  8. numpy生成等差等比数列

    文章目录 arange linspace logspace arange numpy.arange([start ], stop[, step ], dtype=None) 功能: Return ev ...

  9. python numpy生成等差数列、等比数列

    import numpy as np # 等差数列 print(np.linspace(0.1, 1, 10, endpoint=True)) print(np.arange(0.1, 1.1, 0. ...

  10. 等比数列求和python_python numpy生成等差数列、等比数列的实例

    如下所示:import numpy as np # 等差数列 print(np.linspace(0.1, 1, 10, endpoint=True)) print(np.arange(0.1, 1. ...

最新文章

  1. R语言ggplot2可视化、不同分组使用不同的色彩、同一分组(group)的线条使用相同的色彩但是配置使用不同的线型(line type)
  2. 会计电算化之Excel
  3. Algorithm:C++语言实现之概率算法相关问题(计算机中的概率事件、C语言中的随机事件、产生二维随机数、圆内均匀取点)
  4. vb excel编程实例_用过程和函数来解决VB中的计算问题
  5. mybatis-generator 逆向生成工具(实体、dao、sql)
  6. getexternalfilesdir 相册_音乐相册(电子相册制作)V5.2 安卓最新版
  7. mongodb java报授权,mongoDB 3.0用户创建与授权
  8. python时间格式化
  9. 新技能 get —— Python 断点续传下载文件
  10. WebForm与MVC模式优缺点
  11. 锁定Excel部分单元格不能编辑,可以这样操作
  12. 芯片设计流程介绍(从硬件设计语言到芯片制造)
  13. MySQL —— 查询升序和降序
  14. 简单的卷积神经网络编程,python卷积神经网络训练
  15. U盘启动的WinPe安装winxp(非ghost版)重启后出现NTLDR IS MISSING的问题
  16. DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
  17. [网络安全]诸神之眼--Nmap的使用
  18. SSL数字证书下载流程是怎么样的
  19. echarts—地图实现
  20. Android 布 局 翻 译 器

热门文章

  1. ijkplayer 代码走读之 播放器网络数据读取过程详解2
  2. 拉勾网离职风波引人深思 互联网招聘网站还有未来吗?
  3. 【图】Excel快捷键大全+函数公式 职场必备
  4. 灭霸一个响指,被腰砍的电子阅读市场步入终局之战?
  5. 苹果电脑安装双系统有必要吗?
  6. Unity SetFromToRotation和FromToRotation的区别
  7. 用python预测超车是否危险_用Python预测泰坦尼克号乘客生存情况
  8. RuntimeError: Cannot re-initialize CUDA in forked subprocess解决方法之一
  9. ad 报错Minimum Solder Mask Sliver
  10. Java Springboot 使用 OpenOffice 实现Excel转PDF