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)

 

posted @ 2014-11-27 22:47  志者之梦  阅读(913)  评论(0编辑  收藏  举报