1、np.eye()
参考网址:https://docs.scipy.org/doc/numpy/reference/generated/numpy.eye.html#numpy.eye
简介
返回一个主对角线为一,其余为零的矩阵。
基本形式
numpy.
eye
(N, M=None, k=0, dtype=<class 'float'>, order='C')
参数
参数 | 作用 |
N | 返回矩阵的行数 |
M | 返回矩阵的列数,默认和行数相等 |
k | 对角线的索引:0(默认值)指的是主对角线,正值指的是上对角线,负值指的是下对角线 |
dtype | 返回数组的数据类型 |
order | 输出以行主(row-major;'C')还是列主(column-major;'F')的形式被储存 |
例子
>>> np.eye(4)
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
>>> np.eye(4,M=2)
array([[1., 0.],
[0., 1.],
[0., 0.],
[0., 0.]])
>>> np.eye(4,k=1)
array([[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[0., 0., 0., 0.]])
>>> np.eye(4,k=-2)
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[1., 0., 0., 0.],
[0., 1., 0., 0.]])
>>> np.eye(4,dtype=int)
array([[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]])
2、coo_matrix()&csr_matrix()
参考网址:https://docs.scipy.org/doc/scipy/reference/sparse.html
简介
两者都是建立悉数矩阵的函数,不同之处在于存储矩阵的方式不同。(转自https://www.cnblogs.com/xbinworld/p/4273506.html)
coo是最简单的一种格式,每一个元素需要用一个三元组来表示,分别是(行号,列号,数值),对应上图右边的一列。这种方式简单,但是记录单信息多(行列),每个三元组自己可以定位,因此空间不是最优。
CSR是比较标准的一种,也需要三类数据来表达:数值,列号,以及行偏移。CSR不是三元组,而是整体的编码方式。数值和列号与COO一致,表示一个元素以及其列号,行偏移表示某一行的第一个元素在values里面的起始偏移位置。如上图中,第一行元素1是0偏移,第二行元素2是2偏移,第三行元素5是4偏移,第4行元素6是7偏移。在行偏移的最后补上矩阵总的元素个数,本例中是9。
例子
#之前的矩阵转换成稀疏矩阵记录方式
>>> sparse_matrix = sparse.csr_matrix(eye)
>>> print(format(sparse_matrix))
(0, 0) 1.0
(1, 1) 1.0
(2, 2) 1.0
(3, 3) 1.0
#造一个稀疏矩阵
>>> row = np.array([0, 3, 1, 0])
>>> col = np.array([0, 3, 1, 2])
>>> data = np.array([4, 5, 7, 9])
>>> coo_matrix((data, (row, col)), shape=(4, 4)).toarray()
array([[4, 0, 9, 0],
[0, 7, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 5]])
3、np.ones()
简介
返回一个充满1的给定形式的数组
基本形式
numpy.ones
(shape, dtype=None, order='C')
参数
参数 | 作用 |
shape | 确定行数、列数 |
dtype | 返回数组的数据类型 |
order | 输出以行主(row-major;'C')还是列主(column-major;'F')的形式被储存 |
例子
>>> np.ones(5)
array([ 1., 1., 1., 1., 1.])
>>> np.ones((5,), dtype=np.int)
array([1, 1, 1, 1, 1])
>>> np.ones((2, 1))
array([[ 1.],
[ 1.]])
>>> s = (2,2)
>>> np.ones(s)
array([[ 1., 1.],
[ 1., 1.]])
4、np.arange()
参考网址:https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html
简介
返回一个一维数组
基本形式
numpy.
arange
([start, ]stop, [step, ]dtype=None)
参数
参数 | 作用 |
start | 开始的值。开始包括此值。默认起始值为0。 |
stop | 间隔结束。间隔不包括此值,除非在某些情况下,step不是整数,浮点舍入会影响out的长度 |
step | 值之间的间距。是两个相邻值之间的距离。默认步长为1。如果将step指定为位置参数,则还必须给出start |
dtype | 输出数组的类型。如果未给出,则从其他输入参数推断数据类型。 |
例子
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0., 1., 2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])