深圳网站建设哪家公司便宜,wordpress函数大全,商城网站哪个公司做的好,网站开发的实验心德首先推荐Numpy官方的教程#xff0c;网址。
很多人会对数组创建函数的参数中什么时候要用括号np.zeros((2, 3))#xff0c;什么时候不用括号np.eye(3, 5)感到疑惑#xff0c;这里对它们统一进行梳理。#xff08;按照官方文档的分类方法#xff09;
1. 一维数组创建函数…首先推荐Numpy官方的教程网址。
很多人会对数组创建函数的参数中什么时候要用括号np.zeros((2, 3))什么时候不用括号np.eye(3, 5)感到疑惑这里对它们统一进行梳理。按照官方文档的分类方法
1. 一维数组创建函数
最常用的是np.arange()和np.linspace() 两者都有开始start和结束stop区别是arange有步长step而linspace有数目num。
实践上遇到整数时使用np.arange()遇到浮点数时由于np.arange()会由于舍入误差使得右端取值不确定左闭右开或左闭右闭所以会使用np.linspace()。
2. 二维数组创建函数
二维数组创建函数常用的是三个单位矩阵np.eye()、对角矩阵np.diag() 和三角矩阵np.tri() np.eye(3)
array([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]])np.eye(3, 5)
array([[1., 0., 0., 0., 0.],[0., 1., 0., 0., 0.],[0., 0., 1., 0., 0.]]) np.diag([1, 2, 3])
array([[1, 0, 0],[0, 2, 0],[0, 0, 3]])np.diag([1, 2, 3], 1)
array([[0, 1, 0, 0],[0, 0, 2, 0],[0, 0, 0, 3],[0, 0, 0, 0]])a np.array([[1, 2], [3, 4]])np.diag(a)
array([1, 4]) np.tri(3, 5, 2, dtypeint)
array([[1, 1, 1, 0, 0],[1, 1, 1, 1, 0],[1, 1, 1, 1, 1]])注意np.eye()在指定行和列时是不需要加括号的详细看下文。
3. 一般 ndarray 创建函数
常用的有全0数组np.zeros()、全1数组np.ones()、空数组np.empty() 、填充数组np.full()。每种函数都有对应的_like函数传入某个数组就可以参考数组的shape进行构建。创建一维数组的例子如下
注意生成的一维数组的shape是(3, )在矩阵乘法中相当于行向量(1, 3)但是不能像行向量那样进行转置。 创建二维数组的例子如下 留意到只有np.eye()是不加括号的其他的都要加括号。这是因为np.zeros()、np.ones()等传入的第一个参数是shape而第二个参数是dtype如果不加括号则会把第一个逗号后的数字误认为是dtypenp.eye()的第二个参数则不是dtype而是可选的M所以第一个逗号后的数字是M。 最后是用随机数创建数组建议用新的写法因为更快