Python中怎样统计两个向量对应位置的非0元素个数??
首先看看矩阵中.A操作的结果
1 >>> a=mat([[1,2,3],[2,3,0]]); 2 >>> a 3 matrix([[1, 2, 3], 4 [2, 3, 0]]) 5 >>> a.A 6 array([[1, 2, 3], 7 [2, 3, 0]]) 8 >>> shape(a) 9 (2, 3) 10 >>> shape(a.A) 11 (2, 3) 12 >>> type(a) 13 <class 'numpy.matrixlib.defmatrix.matrix'> 14 >>> type(a.A) 15 <class 'numpy.ndarray'>
nonzero()将布尔数组转换成一组整数数组,然后使用整数数组进行下标运算;
1 >>> a=mat(([False, True, True],[True, True,False])) 2 >>> a 3 matrix([[False, True, True], 4 [ True, True, False]], dtype=bool) 5 >>> nonzero(a) 6 (matrix([[0, 0, 1, 1]], dtype=int32), matrix([[1, 2, 0, 1]], dtype=int32))
>>> nonzero(a)[0]
matrix([[0, 0, 1, 1]], dtype=int32)