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

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

内容简介:本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。在利用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生成实数序列

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

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


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

查看所有标签

猜你喜欢:

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

算法导论(原书第2版)

算法导论(原书第2版)

[美] Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein / 潘金贵 等 / 机械工业出版社 / 2006-9 / 85.00元

这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图......一起来看看 《算法导论(原书第2版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器