我正在开发一个软件,其中有一个矩阵由2个阵列组成。 如何从行和列到列和行对矩阵进行排序? 下面是我的输出:[[0,100,200],[72.47668474230234,99.31104557570733,69.04810729404251],[963.5028550030322,851.9302492678169,320.99306624905734]
我想这样读:[[0,72.47668474230234,963.5028550030322],[100,99.31104557570733,851.9302492678169],[200,69.04810729404251,320.99306624905734]]
这是我的代码:
x_vet = []
for z in range(self.n_samples):
x_vet.append(self.x_0 + self.freq*z)
self.signals_data.append(x_vet)
for i in range(len(self.signals_def)):
minV = self.signals_def[i].minValue
maxV = self.signals_def[i].maxValue
y_vet = []
for j in range(self.n_samples):
y_vet.append(minV+(maxV-minV)*random.random())
self.signals_data.append(y_vet)
print(self.signals_data)
看起来你想要转置你的矩阵。
您可以简单地执行以下操作:
import numpy as np
x = np.array([[0, 100, 200], [72.47668474230234, 99.31104557570733, 69.04810729404251], [963.5028550030322, 851.9302492678169, 320.99306624905734]])
# array([[ 0. , 100. , 200. ],
# [ 72.47668474, 99.31104558, 69.04810729],
# [963.502855 , 851.93024927, 320.99306625]])
x_T = np.transpose(x)
# array([[ 0. , 72.47668474, 963.502855 ],
# [100. , 99.31104558, 851.93024927],
# [200. , 69.04810729, 320.99306625]])
如果不想使用numpy,可以这样做来转置一个2-D列表:
list(zip(*arr))