numpy矩阵加法与ndarrays的比较方便

时间:2018-10-01 21:57:56

标签: python-3.x numpy

numpy的矩阵类如何工作?我知道将来可能会删除它,所以我试图了解它是如何工作的,因此我可以对ndarrrays进行同样的操作。

>>> x=np.matrix([[1,1,1],[2,2,2],[3,3,3]])
>>> x[:,0] + x[0,:]
matrix([[2, 2, 2],
    [3, 3, 3],
    [4, 4, 4]])

似乎每一行都添加了一行。

>>> x=np.matrix([[1,2,3],[1,2,3],[1,2,3]])
>>> x[0,:] + x[:,0]
matrix([[2, 3, 4],
        [2, 3, 4],
        [2, 3, 4]])

现在似乎每一列都添加了一列。身份的作用甚至更奇怪,

>>> x=np.matrix([[1,0,0],[0,1,0],[0,0,1]])
>>> x[0,:] + x[:,0]
matrix([[2, 1, 1],
        [1, 0, 0],
        [1, 0, 0]])

编辑: 看来,如果采用(N,1)形状矩阵并将其添加到(N,1)形状矩阵中,则其中一个将被复制以形成(N,N)矩阵,而另一个将被添加到每一行或此新矩阵的列。限于适当大小的向量似乎很方便。 很好的用例是networkx对Floyd-Warshal的实现。

使用标准的numpy ndarrays是否有相当方便的单线?

0 个答案:

没有答案