从NumPy数组中展开内部数组

时间:2015-06-19 02:04:09

标签: python arrays numpy

如何转换此numpy数组:

[[[10 10]]
 [[300 300]]
 [[10 300]]]

进入这一个:

[[[ 10  10]
  [300 300]
  [ 10 300]]]

2 个答案:

答案 0 :(得分:0)

您可以使用advanced indexing对子数组的第一项进行切片,然后将其包装在外部数组中:

a = numpy.array([[[10, 10]],
     [[300, 300]],
     [[10, 300]]])
b = numpy.array([a[:,0]])
print(b)

打印

[[[ 10  10]
  [300 300]
  [ 10 300]]]

或者,使用swapaxes

b = numpy.swapaxes(a, 1, 0)

答案 1 :(得分:0)

b = a.reshape((1,3,2))
print(b)
array([[[ 10,  10],
        [300, 300],
        [ 10, 300]]])