Concatenate two numpy arrays in the 4th dimension

后端 未结 6 1433
一生所求
一生所求 2020-12-14 06:59

I have two numpy arrays with three dimensions (3 x 4 x 5) and I want to concatenate them so the result has four dimensions (3 x 4 x 5 x 2). In Matlab, this can be done with

6条回答
  •  萌比男神i
    2020-12-14 07:44

    How about the following:

    c = concatenate((a[:,:,:,None],b[:,:,:,None]), axis=3)
    

    This gives a (3 x 4 x 5 x 2) array, which I believe is laid out in the manner you require.

    Here, None is synonymous to np.newaxis: Numpy: Should I use newaxis or None?

    edit As suggested by @Joe Kington, the code could be cleaned up a little bit by using an ellipsis:

    c = concatenate((a[...,None],b[...,None]), axis=3)
    

提交回复
热议问题