Rearranging a 4d numpy array

后端 未结 2 853
暖寄归人
暖寄归人 2020-12-22 02:15

I have a 4d numpy array which represents a dataset with 3d instances. Lets say that the shape of the array is (32, 32, 3, 73257).

How can i change the

2条回答
  •  Happy的楠姐
    2020-12-22 02:53

    The np.transpose function does exactly what you want, you can pass an axis argument which controls which axis you want to swap:

    a = np.empty((32, 32, 3, 73257))
    b = np.transpose(a, (3, 0, 1, 2))
    

    The axis of b are permuted versions of the ones of a: the axis 0 of b is the 3-rd axis of a, the axis 1 of b is the 0-th axis of a, etc...

    That way, you can specify which of the axis of size 32 you want in second or in third place:

    b = np.transpose(a, (3, 1, 0, 2))
    

    Also gives an array of the desired shape, but is different from the previous one.

提交回复
热议问题