1. np.newaxis 的实用
>> x = np.arange(3)
>> x
array([0, 1, 2])
>> x.shape
(3, )
>> x[:, np.newaxis]
array([[0], [1], [2]])
将一维的数组变成二维的,并且np.newaxis 放在y位置就所有值都放在列,放在x位置,则bian成(1,3) 的数组
2. 各种array的区分
np.array(3) 产生大小为(3, ) 的一维数组 [0 1 2]
np.array([1,2,3]) 的shape是(3, )
np.array([[1, 2, 3]]) 的shape是(1,3)
np.array([[1], [2], [3]]) 的shape是 (3, 1)
3. .diagonal() 表示取一个二维数组的对角线
4. eliminite_zeros() 存储去掉0元素
print(M.data) [0 1 1 0]
M.eliminate_zeros() 返回的是稀疏存储
5. sp.diamatrix,
其中offsets数组中0表示对角线,-1表示对角线下面,正数表示对角线上面
>>> data = np.array([[1, 2, 3, 4]]).repeat(3, axis=0)
>>> offsets = np.array([0, -1, 2])
>>> dia_matrix((data, offsets), shape=(4, 4)).toarray()
array([[1, 0, 3, 0],
[1, 2, 0, 4],
[0, 2, 3, 0],
[0, 0, 3, 4]])
6. sp.triu
取出稀疏矩阵上三角部分的元素,保存仍然是稀疏矩阵形式