Numpy在示例中转置数据

时间:2017-01-13 17:26:09

标签: python numpy multidimensional-array reshape

所以我发现这很难想象,但基本上我已经使用numpy(python3.x)和

读取了一些数据
 np.genfromtext()

它给了我一个3d数组的形状(5,1024,2)。基本上是5个阵列,每个1024个坐标对。

我正在做的是将每个x坐标移动21.0以规范化我的数据,然后我想将它们全部写回到与之前相同格式的新文件中(在我有5个单独的之前)坐标对的文件后跟换行符,即

x0 y0 
x1 y1
x2 y2 (this x 1024)

这比我想象的更难,而且现在我能做的最好的事情就是提取每一个,将每个转换为21循环并将它们重新组合在一起,但当我这样做时,我得到它形状(5,2,1024)是不一样的。我需要将其改编为(5,1024,2),但我不了解重塑是如何工作的。

如果有人喜欢挑战,那么我需要编写5组坐标对中的每一组来分隔文件。

感谢。

1 个答案:

答案 0 :(得分:1)

回答这个问题:

你想要的是一个换位(即交换两个轴的位置)而不是重塑。要转置(5,2,1024)到(5,1024,2),您可以使用以下内容:

a = np.random.rand(5,2,1024)

b = np.transpose(a,[0,2,1])
print(a.shape)
print(b.shape)