«

numpy中的linspace函数怎么使用

时间:2024-8-5 09:34     作者:韩俊     分类: Python


今天小编给大家分享一下numpy中的linspace函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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

    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)。

    上图有三个参数,是平常使用最频繁的三个参数。还有其他的可选参数,下面我们讨论其参数。

    为了理解参数,我们再次看图示:

    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类型。

    标签: python

    热门推荐