Python中nonzero()函数可以提取出矩阵中非零元素的行列。用法如下:
import numpy as npdata = np.array([[1, 0, 2], [0, 3, 0], [0, 0, 0]])
print(data)
print(data.nonzero())
运行结果如下:
可以看到,非零元素被分成行和列。
当然对于稀疏数组,我们尝尝使用scipy.sparse表示,也可以使用nonzero()函数:
from scipy import sparse
import numpy as npindptr = np.array([0, 2, 3, 6])
indices = np.array([0, 2, 2, 0, 1, 2])
data = np.array([1, 2, 3, 4, 5, 6])
dd = sparse.csc_matrix((data, indices, indptr), shape=(3, 3)).tocsc()
print(dd)
print(dd.nonzero())
运行结果如下: