numpy常用函数

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
start标量
序列的起始值。
stop标量
除非`endpoint`设置为False,否则序列的结束值。
在这种情况下,序列由除``num + 1``的最后一个组成
均匀间隔的样本,以便排除`stop`。注意这一步
当`endpoint`为False时,大小会改变。

num:int,可选
要生成的样本数。默认值为50.必须为非负数。

endpoint:bool,可选
如果为True,则`stop`是最后一个样本。否则,它不包括在内。
默认为True。

retstep:bool,可选
如果为True,则返回(`samples`,`step`),其中`step`是间距
样本之间。

dtype:dtype,可选
输出数组的类型。如果没有给出`dtype`,推断数据
从其他输入参数中键入。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
x = np.linspace(-1, 1, 5)

out:
array([-1. , -0.5, 0. , 0.5, 1. ])

x = np.linspace(-1, 1, 5,endpoint=False)

out:
array([-1. , -0.6, -0.2, 0.2, 0.6])

x = np.linspace(-1,1,5,endpoint=False,retstep=True)

out:
(array([-1. , -0.6, -0.2, 0.2, 0.6]), 0.4)

np.random.normal(loc=0.0, scale=1.0, size=None)

1
2
3
4
5
6
7
loc:float或array_like浮点数
分布的平均值(“中心”)。
scale:float或array_like浮点数
分布的标准偏差(展宽或“宽度”)。
size:int或int的元组,可选
输出形状。如果给定的形状是例如“(m,n,k)”,那么
绘制了`m * n * k`样本

输出一个均值为0,标准差为0.05的(4,3)矩阵

1
2
3
4
5
6
7
8
n = np.random.normal(0,0.05,[4,3])


out:
array([[ 0.00875909, 0.04187258, 0.03422398],
[ 0.04415144, 0.00083901, 0.06574384],
[ 0.13169391, 0.09001974, -0.0384982 ],
[ 0.00414203, 0.03999768, -0.09010478]])

np.newaxis

作用为增加维度。

1
x_data=np.linspace(-1,1,300)[:,np.newaxis]

意思为,从-1到1均匀取出300个间隔数字(包括-1,1),得到shape为(300,)的array,增加一个维度,变为(300,1)。

实际上可以使用reshape做到。
等价于

1
x_data=np.linspace(-1,1,300).reshape(300,-1)

-------------本文结束 感谢您的阅读-------------