NumPy 来自数值范围的数组

发布于 2024-07-30 19:35:17 字数 4391 浏览 8 评论 0

这一章中,我们会学到如何从数值范围创建数组。

numpy.arange

这个函数返回 ndarray 对象,包含给定范围内的等间隔值。

numpy.arange(start, stop, step, dtype)

构造器接受下列参数:

序号参数及描述
1.start 范围的起始值,默认为 0
2.stop 范围的终止值(不包含)
3.step 两个值的间隔,默认为 1
4.dtype 返回 ndarray 的数据类型,如果没有提供,则会使用输入数据的类型。

下面的例子展示了如何使用该函数:

示例 1

import numpy as np
x = np.arange(5)  
print(x)

输出如下:

[0  1  2  3  4]

示例 2

import numpy as np
# 设置了 dtype
x = np.arange(5, dtype =  float)  
print(x)

输出如下:

[0.  1.  2.  3.  4.]

示例 3

# 设置了起始值、终止、步长值参数
import numpy as np
x = np.arange(10,20,2)  
print(x)

输出如下:

[10  12  14  16  18]

numpy.linspace

此函数类似于 arange() 函数。 在此函数中,指定了范围之间,以均匀间隔获取数据的数量,而不是步长。 此函数的用法如下。

numpy.linspace(start, stop, num, endpoint, retstep, dtype)

构造器接受下列参数:

序号参数及描述
1.start 序列的起始值
2.stop 序列的终止值,如果 endpointtrue ,该值包含于序列中
3.num 要生成的等间隔样例数量,默认为 50
4.endpoint 序列中是否包含 stop 值,默认为 ture
5.retstep 如果为 true ,返回样例,以及连续数字之间的步长
6.dtype 输出 ndarray 的数据类型

下面的例子展示了 linspace 函数的用法。

示例 1

import numpy as np
x = np.linspace(10, 20, 5)  
print(x)

从 10 到 20 均匀的取 5 个数据。 输出如下:

[10.   12.5   15.   17.5  20.]

示例 2

序列中是否包含 stop 值,默认为 ture 。不包含结束值的分割,相当于间隔数量。

# 将 endpoint 设为 false
import numpy as np
x = np.linspace(10, 20, 5, endpoint =  False)  
print(x)

输出如下:

[10.   12.   14.   16.   18.]

示例 3

retsetp 用于标识是否要在结果中加入步长值。如果为 true ,返回样例,以及连续数字之间的步长

# 输出 retstep 值  
import numpy as np

x = np.linspace(1, 2, 5, retstep =  True)  
print(x)
# 这里的 retstep 为 0.25

输出如下:

(array([ 1.  ,  1.25,  1.5 ,  1.75,  2.  ]), 0.25)

numpy.logspace

此函数返回一个 ndarray 对象,其中包含在对数刻度上均匀分布的数字。 刻度的开始和结束端点是某个底数的幂,通常为 10。

numpy.logscale(start, stop, num, endpoint, base, dtype)

logspace 函数的输出由以下参数决定:

序号参数及描述
1.start 起始值是 base ** start
2.stop 终止值是 base ** stop
3.num 范围内的数值数量,默认为 50
4.endpoint 如果为 true ,终止值包含在输出数组当中
5.base 对数空间的底数,默认为 10
6.dtype 输出数组的数据类型,如果没有提供,则取决于其它参数

下面的例子展示了 logspace 函数的用法。

示例 1

import numpy as np
# 默认底数是 10
a = np.logspace(1.0,  2.0, num =  10)  
print(a)

输出如下:

[ 10.           12.91549665     16.68100537      21.5443469  27.82559402      
  35.93813664   46.41588834     59.94842503      77.42636827    100.    ]

示例 2

# 将对数空间的底数设置为 2  
import numpy as np
a = np.logspace(1,10,num =  10,  base  =  2)  
print(a)

输出如下:

[ 2.     4.     8.    16.    32.    64.   128.   256.    512.   1024.]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

夜司空

暂无简介

0 文章
0 评论
581 人气
更多

推荐作者

alipaysp_2zg8elfGgC

文章 0 评论 0

微信用户

文章 0 评论 0

和我恋爱吧

文章 0 评论 0

郁金香雨

文章 0 评论 0

北陌

文章 0 评论 0

梁隐

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文