python numpy 中linspace函数示例详解
作者:梦想画家 发布时间:2021-12-12 01:47:59
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能够更直接地控制序列中值之间的增量。
来源:https://blog.csdn.net/neweastsun/article/details/99676029
猜你喜欢
- 先看几个数据。。一大堆文字滴,不管人家是不是故意的,字数还是这样:news.163.cn:14px,39个中文字符 news.sina.co
- 视图视图是一个虚拟表(非真实存在),其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集,并可以将其当作
- 最近有一个小项目,有如下的需求:将某几个源码文件夹进行打包,文件夹内有py文件、dll文件、exe文件等各种文件类型打包生成的安装包,在进行
- 主程序mainaddfunc.pyfrom flask import Flask, render_template, request, ur
- 本文实例讲述了python对数组进行反转的方法。分享给大家供大家参考。具体实现方法如下:arr = [1,2,3]arr.reverse()
- 本文实例讲述了Python django框架应用中实现获取访问者ip地址。分享给大家供大家参考,具体如下:在django官方文档中有一段对r
- 本文实例讲述了python开发中range()函数用法。分享给大家供大家参考,具体如下:python中的range()函数的功能很强大,所以
- 本文实例分析了php中Ctype函数用法。分享给大家供大家参考。具体分析如下:Ctype函数是Php的Ctype扩展函数提供了一组函数用于校
- 以XML格式查看查询结果通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式
- 高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。pytho
- 利用pygame实现了简易版飞机大战。源代码如下:# -*- coding:utf-8 -*-import pygameimport sys
- 1 发送文本信息'''加密发送文本邮件'''def sendEmail(from_addr,
- Microsoft SQL Server 2000复制的概念:在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术
- 这几天无聊的很看着china.nba.com焦点图效果捣鼓了一下有待完善!兼容性:IE6 , IE7 &nb
- 准备篇:CentOS 6.6系统安装配置图解教程https://www.jb51.net/os/239738.html一、配置防火墙,开启8
- 引言语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.端点检测属于语音处理系统的前端操作,在语音
- 简介ORA-10458: standby database requires recoveryORA-01196: 文件 1 由于介质恢复会
- 注:本次实验的数据在文章最后面,我已上传至百度网盘一.json模块对数据进行处理 上面三个txt文本是这三个国家疫情爆发相关的数据
- 前言最近网站从HTTPS转为HTTP,更换了网址,旧网址做了301重定向,折腾有点大,于是在百度站长平台提交网址,不管是主动推送还是手动提交
- 最近在做cocos2d-x的简明配置,发现有的朋友的文本编辑器,自动将\r\n截断成\n,(在unix上换行使用\n,windows上,换行