numpy.random.rand(a, b) 返回 shape(a, b) 的随机数,大小在[0, 1)之间。
numpy.random.randn(a,b) 返回 shape(a, b) 的随机数, 服从正态分布。
【正态分布(Normal distribution),也称“常态分布”,又名高斯分布】
大部分数据集中在平均值,小部分在两端。
神奇的地方在于,不管是人的身高,手臂长度,肺活量,还是他们的考试成绩,都符合正态分布。
矩阵相乘的时候,顺序很重要。高位在左,低位再右
1. 对于 numpy.shape的理解
比如对于一个三维矩阵 img.shape = (200, 300, 3): 200行 * 200列的网格,每个格子里面有3个元素(255, 255, 255)
指的是第一个维度,有200个元素,第2个维度, 有300个元素, 第3个维度, 有3个元素
且图片的高度是200, 即为200行, 宽度是300, 300列。
每个像素点,有3个值组成,分别是rgb.
2. np.dot(a, b), 就是按照对应位置 先进行相乘,然后求和。
1. numpy.sin(X) 这里可以对一个数组进行整体计算
2. np.argmax(A) 返回的是最大数的索引
3. np.argsort(A) 返回的是排序后对应的的索引
4. numpy 读取文件:
np.genfromtxt() 不包含缺失值
np.loadtxt() 包含缺失值
5. np.astype(TYPE), 类型转换, 会返回一个新的对象,不改变原始数据
6. np.clip(A, min, max) 对一个数组进行修剪。小于 min, 会变成 min, 大于max,会变成 max
7. np.std() 标准差
8. np.var() 方差
9.
0. numpy.random.seed() 当我们设置相同的seed,每次生成的随机数相同,
但是换了单元格之后,就会出现问题。
1. np.random.rand() 生成[0,1)之间的数据,包含0,不包含1
2. np.random.randn() 以0为均值、以1为标准差的正态分布,
正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形
np.random.randn(4, 100), 会生成一个4行,100列的矩阵。
3. np.random.standard_normal((3, 4)), 大致取值区间是 【-3, 3】
11. numpy 随机数的问题
np.random.rand(10), rand, 返回的是 [0, 1) 之间的的随机数。平均值是 0.5
np.random.randn(10), randn 返回的是值大概是在 [-5, 5] 之间。属于是高斯分布。正态分布。平均值是0, 方差是1。
1. 广播的概念。即一个 array 可以和一个矩阵直接相加,
只要他们的 shape能兼容。从而取代了循环,提升性能
3. np.empty(2) 创建的是随机数,根据内存而定
4. np.arange(4), 类似普通的 range() 函数
5. np.linspace(0, 10, num=5) 类似range() 函数加个步长
6. np.sort(arr) 快速排序
7. np.concatenate((x, y), axis=0) 拼接
8. np.vstack((a1, a2)) 垂直方向拼接
9. np.hstack((a1, a2)) 水平方向拼接
10. np.flip(arr) 逆序
11. x.flatten() 二维转一维
12. arr = arr.astype(float) 类型转换。 arr.dtype
1. x.base 从内存地址查看,x 是从哪个对象引用过来的
2. x.size 查看元素的数量 等于矩阵的 row * col
3. for i in x.flat: 逐个遍历矩阵的元素
4. x.dtype 查看数据类型
1. x.tolist() 把 ndarray 对象转为 普通python 列表
2. x.astype(str) 类型转化
3. z = x.copy() 复制
4. z.fill(3) 把原始尺寸的矩阵,全部用3来填充
5.
1. ret = np.take(x2, [1,2], axis=1) 这个方法的写法比较复杂。
2.