深度学习实战 numpy生成实数序列

栏目: 编程工具 · 发布时间: 6年前

内容简介:本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。在利用python在进行数据分析的时候,经常需要按照某种规则快速生成实数序列,尤其是在学习matplotlib绘图的时候,需要模拟生成数据,然后开始绘制。

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

在利用 python 在进行数据分析的时候,经常需要按照某种规则快速生成实数序列,尤其是在学习matplotlib绘图的时候,需要模拟生成数据,然后开始绘制。

那么在python中有哪些方式生成实数序列呢?本文将为大家一一介绍。

在numpy中有多种生成序列的函数,分别是arange、linspace、logspace和geomspace,那么这几种方式有哪些区别呢?我们在日常开发中如何选择合适的方法来生成需要的实数呢?

arange

numpy.arange([start, ]stop, [step, ]dtype=None)

start默认是0,step默认是1.

这个函数的用法非常简单,给定一个start, 一个stop, 一个步长,然后就可以得到你想要的数据。

注意:

  • 生成的数据不包含stop的值。

案例1:直接给定stop,start和step采用默认值。

从0开始,按照步长为1,生成数据,到3结束,注意不含3.

In [32]:

np.arange(3)

Out[32]:

array([0, 1, 2])

案例2:指定start和stop,按照默认的step=1的方式来生成数据。

In [33]:

np.arange(1,3)

Out[33]:

array([1, 2])

案例3:指定start、stop和step的值。

start为1,stop为3,步长为0.1.

In [35]:

np.arange(1,3,0.1)

接下来我们将和大家一起来看看另外的三个***space的用法。

linspace

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

linspace的作用是生成等差数列。

num默认为50, endpoint默认为True, retstep默认是False即不返回步长大小

endpoint指的是生成的序列中是否包含stop这个数,True就是包含,False就是不包含。

案例1:1-50之间生成50个数。

此处并没有指定生成的实数序列的个数,采用的是默认值50个。

In [4]:

np.linspace(1,50)

深度学习实战 numpy生成实数序列

案例2:1-50之间生成25个数

In [36]:

np.linspace(1,50,25)

深度学习实战 numpy生成实数序列

案例3:1-50之间生成25个数,并打印步长信息。

In [37]:

np.linspace(1,50,retstep=True)

深度学习实战 numpy生成实数序列

案例4:1-50之间生成25个数,不含50,且打印步长。

In [40]:

np.linspace(1,50, endpoint=False, retstep=True)

深度学习实战 numpy生成实数序列

logspace

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

logspace的作用是生成以底数为base,指数为start-stop的实数序列,其用法与linspace非常类似,其中base参数指定了底数。

案例1:生成1-50,底数为10的指数序列。

In [41]:

np.logspace(1,50)

深度学习实战 numpy生成实数序列

案例2:生成1-50,底数为2的序列。

In [42]:

np.logspace(1,50,base=2)

深度学习实战 numpy生成实数序列

案例3:1-50区间内生成5个数,底数为2的序列。

In [44]:

np.logspace(1,50,num=5,base=2)

geomspace

numpy.geomspace(start, stop, num=50, endpoint=True, dtype=None)

geomspace的作用是生成等比数列,指定start、stop和序列个数,即可生成等比数列。

案例1:1-50区间内,生成默认的50个数的等比数列。

In [49]:

np.geomspace(1,50)

深度学习实战 numpy生成实数序列

案例2:1-16区间内,生成5个数的等比数列。

In [50]:

np.geomspace(1,16,num=5)

结语

本文为大家介绍了利用numpy生成实数序列的四种方法,分别是arange,linspace,logspace和geomspace。今后在不同的应用场景下可以选择不同的方式来生成数据。

where2 go 团队

   

微信号:算法与编程之美          

深度学习实战 numpy生成实数序列

长按识别二维码关注我们!

温馨提示: 点击页面右下角 “写留言”发表评论,期待您的参与!期待您的转发!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Design and Analysis of Distributed Algorithms (Wiley Series on P

Design and Analysis of Distributed Algorithms (Wiley Series on P

Nicola Santoro / Wiley-Interscience / 2006-10-27 / USD 140.95

This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques presented can be applied to any distrib......一起来看看 《Design and Analysis of Distributed Algorithms (Wiley Series on P》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试