In [1]:
import numpy as np
In [2]:
a_2d = np.arange(6).reshape(2, 3)
print(a_2d)
In [3]:
a_2d_T = a_2d.T
print(a_2d_T)
In [4]:
print(np.shares_memory(a_2d, a_2d_T))
In [5]:
a_2d_T[0, 1] = 100
print(a_2d_T)
In [6]:
print(a_2d)
In [7]:
a_2d[1, 0] = 3
print(a_2d)
In [8]:
print(a_2d_T)
In [9]:
a_2d_T_copy = a_2d.T.copy()
print(a_2d_T_copy)
In [10]:
print(np.shares_memory(a_2d, a_2d_T_copy))
In [11]:
a_2d_T_copy[0, 1] = 100
print(a_2d_T_copy)
In [12]:
print(a_2d)
In [13]:
a_2d = np.arange(6).reshape(2, 3)
print(a_2d)
In [14]:
print(a_2d.transpose())
In [15]:
print(np.shares_memory(a_2d, a_2d.transpose()))
In [16]:
print(np.transpose(a_2d))
In [17]:
print(np.shares_memory(a_2d, np.transpose(a_2d)))
In [18]:
a_1d = np.arange(3)
print(a_1d)
In [19]:
print(a_1d.T)
In [20]:
print(a_1d.transpose())
In [21]:
print(np.transpose(a_1d))
In [22]:
a_row = a_1d.reshape(1, -1)
print(a_row)
In [23]:
print(a_row.shape)
In [24]:
print(a_row.ndim)
In [25]:
a_col = a_1d.reshape(-1, 1)
print(a_col)
In [26]:
print(a_col.shape)
In [27]:
print(a_col.ndim)
In [28]:
print(a_row.T)
In [29]:
print(a_col.T)
In [30]:
a_3d = np.arange(24).reshape(2, 3, 4)
print(a_3d)
In [31]:
print(a_3d.T)
In [32]:
print(a_3d.T.shape)
In [33]:
print(a_3d.transpose())
In [34]:
print(a_3d.transpose().shape)
In [35]:
print(a_3d.transpose(2, 1, 0))
In [36]:
print(a_3d.transpose(2, 1, 0).shape)
In [37]:
print(a_3d.transpose((2, 1, 0)).shape)
In [38]:
print(np.transpose(a_3d, (2, 1, 0)))
In [39]:
print(np.transpose(a_3d, (2, 1, 0)).shape)
In [40]:
# print(np.transpose(a_3d, 2, 1, 0))
# TypeError: transpose() takes from 1 to 2 positional arguments but 4 were given
In [41]:
# print(a_3d.transpose(0, 1))
# ValueError: axes don't match array
In [42]:
# print(a_3d.transpose(0, 1, 2, 3))
# ValueError: axes don't match array
In [43]:
# print(a_3d.transpose(0, 1, 3))
# AxisError: axis 3 is out of bounds for array of dimension 3
In [44]:
print(a_3d)
In [45]:
print(a_3d.shape)
In [46]:
print(a_3d.transpose(0, 2, 1))
In [47]:
print(a_3d.transpose(0, 2, 1).shape)
In [48]:
print(a_3d.transpose(1, 0, 2))
In [49]:
print(a_3d.transpose(1, 0, 2).shape)
In [50]:
print(a_3d[:, :, 0])
In [51]:
print(a_3d.transpose(1, 0, 2)[:, :, 0])