如何用numpy转置向量? 我正在尝试
import numpy as np
center = np.array([1,2])
center_t = np.transpose(center)
但是它不起作用,我该怎么办?
答案 0 :(得分:1)
重塑应该可以解决问题。
center = np.array([1,2])
print(center.reshape(-1,1))
array([[1], [2]])
但是,对于n维数组,这将转置数组。
print(center.T)
例如:
a = np.array([['a','b','c'],['d','e','f'],['g','h','i']])
print(a)
array([['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i']], dtype='<U1')
print(a.T)
array([['a', 'd', 'g'],
['b', 'e', 'h'],
['c', 'f', 'i']], dtype='<U1')
答案 1 :(得分:0)
要转置数组(矩阵),数据需要具有二维。这里的数据是一维的。
您可以使用np.vstack
从一维数组/矩阵获取二维垂直数组/矩阵。 np.hstack
是它的水平等价物。
import numpy as np
center = np.array([1,2])
center_t = np.vstack(center)
答案 2 :(得分:0)
一维数组的转置本身就是一维数组。不幸的是,它正在按原意工作。
请参阅this。
import numpy as np
a = np.array([5,4])[np.newaxis]
print(a)
print(a.T)
np.newaxis
本质上只是增加了数组的尺寸,因此就像在Matlab中一样,您正在转置2D数组。