首页 > 其他分享 >numpy.linspace()函数

numpy.linspace()函数

时间:2023-07-27 15:13:04浏览次数:28  
标签:函数 示例 stop 参数 linspace np 100 numpy

python numpy 中linspace函数

numpy提供linspace函数(有时也称为np.linspace)是python中创建数值序列工具。与Numpy arange函数类似,生成结构与Numpy 数组类似的均匀分布的数值序列。两者虽有些差异,但大多数人更愿意使用linspace函数,其很好理解,但我们需要去学习如何使用。

本文我们学习linspace函数及其他语法,并通过示例解释具体参数。最后也顺便提及np.linspace 和 np.arange之间的差异。

1. 快速了解

通过定义均匀间隔创建数值序列。其实,需要指定间隔起始点、终止端,以及指定分隔值总数(包括起始点和终止点);最终函数返回间隔类均匀分布的数值序列。请看示例:

np.linspace(start = 0, stop = 100, num = 5)
 

代码生成 NumPy 数组 (ndarray 对象),结果如下:array([ 0., 25., 50., 75., 100.])
如图:

 

让我们解释下,Numpy linspace函数依照定义间隔生成均匀分布的数值。我们使用start和stop参数指定间隔,这里我们设定为0和100,同时指定在范围内生产5个观测值,因此函数生成5个均匀分布的元素。第一个是0,最后一个100,其他三个分布在0和100之间。

下面我们详细看下linspace函数的参数,让你更清楚理解其机制。

2. linspace函数语法

linspace的语法非常简单直接。如下图所示,首先是函数名称,对应代码为 np.linspace (假设你已导入importe NumPy as np)。

 


图2

上图有三个参数,是平常使用最频繁的三个参数。还有其他的可选参数,下面我们讨论其参数。
为了理解参数,我们再次看图示:

 

start
start 参数数值范围的起始点。如果设置为0,则结果的第一个数为0.该参数必须提供。

stop
stop 参数数值范围的终止点。通常其为结果的最后一个值,但如果修改endpoint = False, 则结果中不包括该值(后面示例会说明)。

num (可选)
num 参数控制结果中共有多少个元素。如果num=5,则输出数组个数为5.该参数可选,缺省为50.

endpoint (可选)
endpoint 参数决定终止值(stop参数指定)是否被包含在结果数组中。如果 endpoint = True, 结果中包括终止值,反之不包括。缺省为True。

dtype (可选)
和其他的 NumPy 一样, np.linspace中的dtype 参数决定输出数组的数据类型。如果不指定,python基于其他参数值推断数据类型。如果需要可以显示指定,参数值为NumPy 和 Python支持的任意数据类型。

我们并不需要每次都使用所有参数,如果缺省值可以满足我们需求。一般start, stop, num 比 endpoint 和 dtype常用。

位置参数 vs 命名参数

实际调用时无需显示指定参数名称,可以通过参数位置直接匹配:

np.linspace(0, 100, 5)
 

上面代码和前面示例的功能一样:np.linspace(start = 0, stop = 100, num = 5)
前者使用位置匹配,后者使用名称匹配。位置匹配让代码简捷,名称匹配使代码更可读,实际应用中我们鼓励使用名称匹配调用函数。

3. 示例

下面通过示例学习每个参数含义。

3.1 从0到1,间隔为0.1的数值序列

np.linspace(start = 0, stop = 1, num = 11)
 

输出结果为:

array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ])
 

当你需要百分比场景时比较有用。

3.2 从0 到 100,间隔为10的数值序列

np.linspace(start = 0, stop = 100, num = 11)
 

输出结果为:

array([  0.,  10.,  20.,  30.,  40.,  50.,  60.,  70.,  80.,  90., 100.])
 

该示例和前面一样,只是实际应用很常用。

3.3 使用 endpoint 参数

前文提到,endpoint 参数决定终止值是否被包含在结果数组中。缺省为True,即包括在结果中,反之不包括,请看示例:

np.linspace(start = 1, stop = 5, num = 4, endpoint = False)
 

因为endpoint = False,5不在结果中。结果为1到4。

array([ 1.,  2.,  3.,  4.])
 

个人认为该参数不够直接,平时一般不使用。

3.4 手动指定数据类型

默认linspace根据其他参数类型推断数据类型,很多时候,输出结果为float类型。如果需要指定数据类型,可以通过dtype设置。该参数很直接,除了linspace其他函数也一样,如:np.array,np.arange等。示例:

np.linspace(start = 0, stop = 100, num = 5, dtype = int)
 

这里dtype为int,结果为int类型,而不是float类型。

4. 总结

本文我们通过示例学习了linspace函数。如果你熟悉NumPy,一定也注意到还有np.arange函数。两者最大差异是,linspace能够精确控制终止值终值,而arange能够更直接地控制序列中值之间的增量。

 

标签:函数,示例,stop,参数,linspace,np,100,numpy
From: https://www.cnblogs.com/chentiao/p/17584981.html

相关文章

  • 多项式和生成函数
    多项式概念:对于一个求和$\suma_nx^{n}\(,如果这个式子是**有限项**,则称该式为多项式,记作\)f(x)={\textstyle\sum_{n=0}^{m}}a_nx^{n}\(可列项相加的求和式称为级数。在\)\sum_{n=0}^\inftya_nx^n$中,每项均为非负整数次幂函数乘常数系数,这种形式的级数称为幂级数。乘......
  • 什么是一元函数
    提问什么是一元函数回答一个参数的函数延申使用out、ref输出参数是一种让人困惑的选择使用标识参数是让人害人听闻的做法,应该拆分为两个函数,直到用户输入层面参考......
  • java 函数独占锁
    importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;@RestController@RequiredArgsConstructor@RequestMapping("/smartpark")@Tag(description="开放接口",name="开放接口")//@SecurityRequirem......
  • 【Oracle】 instr函数与substr函数以及自制分割函数
    Oracleinstr函数与substr函数以及自制分割函数instr通常被用来作为判断某个字符串中是否含有执行字符串和将返回结果作为一些数据分割的数据,即有模糊查询like的作用,当返回的查询结果的序号为0的时候就是没有匹配上substr函数就是很简单明了,就是个截取字符函数instr函数通常使......
  • 【go语言】2.1.3 函数的定义和使用
    在Go语言中,函数是一种代码抽象和复用的方式。函数可以接受参数,执行特定的操作,并返回结果。函数的定义函数的定义以 func 关键字开始,后面跟着函数名、参数列表、返回值列表(可选)以及函数体。下面是一个函数定义的例子:funcgreet(namestring){fmt.Println("Hello,"+......
  • 【d2l】【常见函数】【9】 nn.Embedding()
    将输入的序列转换词向量转载:https://www.jianshu.com/p/63e7acc5e890,本帖仅用于学习,请给原博主点赞参考:https://pytorch.org/docs/stable/generated/torch.nn.Embedding.html函数参数nn.Embedding(num_embeddings(int),embedding_dim(int))num_embeddings:这个词典中......
  • go语言基础一(包、变量和函数)
    包go程序由一个个不同的包组成,程序的入口是名为main的包,比如我们创建一个main文件main.gopackagemainimport"fmt"funcmain(){fmt.Println("hello")}go要求每一个go文件的非注释开头必须是```packagexxx``,也就是声明该文件属于哪个包导出方式首先我们创如下......
  • 函数抛出异常学习
    转自:https://blog.csdn.net/u014694994/article/details/790745661、例子stoi当字符串不符合规范时,会抛出异常。#include<stdexcept>#include<iostream>#include<string>usingnamespacestd;intmain(){std::stringy="253647586946334221002101219......
  • 浅谈Excel开发:六 Excel 异步自定义函数
    上文介绍了Excel中的自定义函数(UDF),它极大地扩展了Excel插件的功能,使得我们可以将业务逻辑以Excel函数的形式表示,并可以根据这些细粒度的自定义函数,构建各种复杂的分析报表。普通的UDF自定义函数的基本执行逻辑是,Excel接受用户输入的函数表达式,然后通过UDF函数的处理逻辑进行处......
  • Oracle之TO_DATE函数
    TO_DATE格式(以时间:2007-11-0213:45:25为例)Year:yytwodigits两位年显示值:07yyythreedigits三位年显示值:007yyyyfourdigits四位年显示值:2007Month:mmnumber两位月显示值:11monabbreviated字符集表......