1、生成全0/1/n数组
1.1 np.zeros, np.ones, np.full
- np.zeros(shape, dtype=float)
- 形状为shape,元素全为0。
- np.ones(shape, dtype=float)
- 元素全为1
- np.full(shape, fill_value)
- 元素全为fill_value
1.2 np.zeros_like, np.ones_like
- np.zeros_like(a, dtype=None, order="K", subok="True")
- 返回与a相同的shape,且元素为0的ndarray对象。
- np.ones_like(a, dtype=None, order="K", subok="True")
- 返回与a相同的shape,且元素为1的ndarray对象。
2 生成连续,等差和等比数列
2.1 连续数组
- np.arange([start, ]stop, [step, ]dtye=None)
- 返回(默认从0开始,公差为1)等差数列作为元素的数组对象。
2.2 等差数组
- np.linspace(start stop, num=50, endpoint=True, retstep=False, dtype=None)
- start:(int/float)用于指定数列的起点
- stop:(int/float)用于指定数列的终点
- num:(int)可省,初始为50,用于指定生成数组的元素个数
- endpoint:(bool)可省,初始为True,指定数组是否包扩右stop
- retstep:(bool)可省,初始为False,用于指定在生成的数列后面是否显示公差,如果是True就显示,反之不显示
- dtype:(数组类型)初始为None,指定生元素数据类型,如果不指定,一般自动指定为float64型。
参数较多,一般掌握start,stop和num即可。注:默认生成的数列既包含start也包含stop,故公差为(stop - start +1)/num,如果endpoint=False,则公差为(stop - start)/num
2.3 等比数组
- np.linspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)
- base:等比数组的基数。开始值为start**base,结束值为stop**base
3 生成单位矩阵
单位矩阵就是对角线全为1的正方矩阵(N x N),通常情况下多使用I或者E表示。可以通过np.identity和np.eye两个函数来创建。
- np.identity函数生成行列数相等的正方矩阵,np.eye函数可以通过指定的行数和列数的方式生成单位矩阵
- np.eye函数可以指定元素为1对角线位置
- 一般情况用np.indentity函数即可,需要特殊指定的单位矩阵,用np.eye函数
3.1 np.eye
- N:(int)用于指定需要生成的单位矩阵行数
- M:(int)可省,初始为None,用于指定需要生成的单位矩阵列数
- k:(int)可省,初始为0,用于指定元素为1对角线的位置,k为正,对角线就位于上方,反之在下方
- dtype:略
- order:(“C”/”F”)可省,初始为“C”用于指定输出结果的数组的值是按行标准返回还是按照列标准返回。