以选择的方式将数组大小从1D更改为2D

时间:2017-11-27 11:56:56

标签: python numpy multidimensional-array

我需要从以下

更改我的数组
Array = np.array([x1,y1,z1,x2,y2,z2......])

Array = [[x1,x2,x3......]
         [y1,y2,y3,.....]
         [z1,z2,z3,.....]]

如果是这样可以吗?

由于

3 个答案:

答案 0 :(得分:2)

您只需要将该1D阵列重塑为2D,然后转置它。

import numpy as np

a = np.array([10, 11, 12, 20, 21, 22, 30, 31, 32, 40, 41, 42, 50, 51, 52])
a = a.reshape(-1, 3).T
print(a)

<强>输出

[[10 20 30 40 50]
 [11 21 31 41 51]
 [12 22 32 42 52]]

答案 1 :(得分:0)

我认为reshape可以帮到你。 请参阅此文档:https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.reshape.html

答案 2 :(得分:0)

这是你在找什么?

import numpy as np

foo = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8])
ret = [[], [], []]

for idx, number in enumerate(foo):
    ret[idx % 3].append(number)

print ret # out: [[0, 3, 6], [1, 4, 7], [2, 5, 8]]