NumPy 从数值范围创建新数组
2019-02-24 10:26:23
•
阅读
打赏
本文学习如何从数值范围创建数组
numpy.arange
numpy 中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:
numpy.arange(start, stop, step, dtype)
函数接受下列参数:
| 序号 | 参数及描述 |
|---|---|
| 1. | start 范围的起始值,默认为0 |
| 2. | stop 范围的终止值(不包含) |
| 3. | step 两个值的间隔,默认为1 |
| 4. | dtype 返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。 |
根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个 ndarray。
import numpy as np
x = np.arange(6)
print(x) # [0 1 2 3 4 5]
# 设置 dtype
x = np.arange(6, dtype = float)
print (x) # [0. 1. 2. 3. 4. 5.]
# 设置起始值、终止值及步长
x = np.arange(10,22,2)
print (x) # [10 12 14 16 18 20]
numpy.linspace
numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,函数格式如下:
numpy.linspace(start, stop, num, endpoint, retstep, dtype)
函数接受下列参数:
| 序号 | 参数及描述 |
|---|---|
| 1. | start 序列的起始值 |
| 2. | stop 序列的终止值,如果endpoint为true,该值包含于序列中 |
| 3. | num 要生成的等间隔样例数量,默认为50 |
| 4. | endpoint 序列中是否包含stop值,默认为ture |
| 5. | retstep 如果为true,返回样例,以及连续数字之间的步长 |
| 6. | dtype 输出ndarray的数据类型 |
import numpy as np
# 设置起始点为 1 ,终止点为 10,数列个数为 10
a = np.linspace(1,10,10)
print(a) # [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
# 元素全部是1的等差数列
a = np.linspace(1,1,10)
print(a) # [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
# endpoint 设为 false,不包含终止值
# 将 endpoint 设为 true,则会包含 20
a = np.linspace(10, 20, 5, endpoint = False)
print(a) # [10. 12. 14. 16. 18.]
# 设置间距
a = np.linspace(1, 10, 10, retstep = True)
print(a) # (array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]), 1.0)
# 拓展
b = np.linspace(1, 10, 10).reshape([10, 1])
print(b)
# [[ 1.]
# [ 2.]
# [ 3.]
# [ 4.]
# [ 5.]
# [ 6.]
# [ 7.]
# [ 8.]
# [ 9.]
# [10.]]
numpy.logspace
numpy.logspace 函数用于创建一个于等比数列。
即在对数刻度上均匀分布的数字,刻度的开始和结束端点是某个底数的幂,通常为 10。
格式如下:
numpy.logscale(start, stop, num, endpoint, base, dtype)
函数参数如下:
| 序号 | 参数及描述 |
|---|---|
| 1. | start 起始值是base ** start |
| 2. | stop 终止值是base ** stop |
| 3. | num 范围内的数值数量,默认为50 |
| 4. | endpoint 如果为true,终止值包含在输出数组当中 |
| 5. | base 对数空间的底数,默认为10 |
| 6. | dtype 输出数组的数据类型,如果没有提供,则取决于其它参数 |
base 参数意思是取对数的时候 log 的下标。
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
a = a = np.logspace(0,9,10,base=2)
print (a) # [ 1. 2. 4. 8. 16. 32. 64. 128. 256. 512.]

相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型