我有一个矩阵m = np.matrix([[1, 2, 3], [4, 5, 6]])
。
我提取了一个向量v = m[0] + m[1]
,现在v == [[5, 7, 9]]
。向量的形状为(1, 3)
,意味着它被视为矩阵,而不是向量。如何使v
成为实际的向量,即形状(3,)
?
我尝试使用np.asarray(v)
和np.array(v)
,但他们没有做我想做的事。
答案 0 :(得分:3)
使用np.squeeze(np.asarray(v))
。所以你首先转换为一个数组(除了矩阵可以有任意n个维度),然后去掉额外的维度。
...或者首先避免使用np.matrix
,从而节省了额外的一步。
答案 1 :(得分:3)
我猜最短的将是
m.A.sum(0)
# array([5, 7, 9])
在求和之前转换为array
。
如果您从1xN matrix
开始,例如v
:
v.A1
# array([5, 7, 9])