Who can explain this numpy voodoo? : I'm trying to get my data correct for the deep learning models I am creating and I stumbled into something peculiar. 

I have the following data: <br>
original_data.shape = (220, 145, 145) <br>
all_data = np.transpose(original_data, (1,2,0)) <br>
---> all_data.shape = (145, 145, 220) ----- As I require it. 

Now when I try to use numpy 'shortcuts' to use this data I get the following:

temp = original_data[:][:][0] <br>
----> temp.shape = (145, 145) <br>
This is already confusing as in my mind the shape should be (220, 145)

temp = all_data[:][:][0] <br>
----> temp.shape = (145, 220) <br>
But why??? It would make more sense for it to be (145, 145). But I accepted it as it is and tried the others as well <br> <br>
temp = all_data[:][0][:] <br>
----> temp.shape = (145, 220) <br>
WHYYYY???? <br>

temp = all_data[0][:][:] <br>
----> temp.shape = (145, 220) <br>
This is blowing my mind <br>

Anyone understand what's going on here? 

Thanks in advance :)