In [1]:
import numpy as np
In [2]:
a = np.arange(10) * 10
print(a)
In [3]:
print(a[5])
In [4]:
print(a[8])
In [5]:
print(a[[5, 8]])
In [6]:
print(a[[5, 4, 8, 0]])
In [7]:
print(a[[5, 5, 5, 5]])
In [8]:
idx = np.array([[5, 4], [8, 0]])
print(idx)
In [9]:
print(a[idx])
In [10]:
# print(a[[[5, 4], [8, 0]]])
# IndexError: too many indices for array
In [11]:
print(a[[[[5, 4], [8, 0]]]])
In [12]:
a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
In [13]:
print(a_2d[0])
In [14]:
print(a_2d[2])
In [15]:
print(a_2d[[2, 0]])
In [16]:
print(a_2d[[2, 2, 2]])
In [17]:
print(a_2d[:, 1])
In [18]:
print(a_2d[:, 3])
In [19]:
print(a_2d[:, 1:2])
In [20]:
print(a_2d[:, [3, 1]])
In [21]:
print(a_2d[:, [3, 3, 3]])
In [22]:
print(a_2d[0, 1])
In [23]:
print(a_2d[2, 3])
In [24]:
print(a_2d[[0, 2], [1, 3]])
In [25]:
# index
# [[0, 1] [2, 3]]
In [26]:
# print(a_2d[[0, 2, 1], [1, 3]])
# IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (3,) (2,)
In [27]:
print(a_2d[[[0, 0], [2, 2]], [[1, 3], [1, 3]]])
In [28]:
# index
# [[0, 1] [0, 3]
# [2, 1] [2, 3]]
In [29]:
print(a_2d[[[0], [2]], [1, 3]])
In [30]:
idxs = np.ix_([0, 2], [1, 3])
print(idxs)
In [31]:
print(type(idxs))
In [32]:
print(type(idxs[0]))
In [33]:
print(idxs[0])
In [34]:
print(idxs[1])
In [35]:
print(a_2d[np.ix_([0, 2], [1, 3])])
In [36]:
print(a_2d[np.ix_([2, 0], [3, 3, 3])])
In [37]:
print(a_2d[[0, 2]][:, [1, 3]])
In [38]:
a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
In [39]:
a_2d[np.ix_([0, 2], [1, 3])] = 100
print(a_2d)
In [40]:
a_2d[np.ix_([0, 2], [1, 3])] = [100, 200]
print(a_2d)
In [41]:
a_2d[np.ix_([0, 2], [1, 3])] = [[100, 200], [300, 400]]
print(a_2d)
In [42]:
print(a_2d[[0, 2]][:, [1, 3]])
In [43]:
a_2d[[0, 2]][:, [1, 3]] = 0
print(a_2d)
In [44]:
a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
In [45]:
a_2d[[2, 0]] = [[100, 200, 300, 400], [500, 600, 700, 800]]
print(a_2d)
In [46]:
a_2d[[2, 2]] = [[-1, -2, -3, -4], [-5, -6, -7, -8]]
print(a_2d)
In [47]:
a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
In [48]:
a_fancy = a_2d[np.ix_([0, 2], [1, 3])]
print(a_fancy)
In [49]:
a_fancy[0, 0] = 100
print(a_fancy)
In [50]:
print(a_2d)
In [51]:
a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
In [52]:
print(a_2d[[2, 0], ::-1])
In [53]:
print(a_2d[::2, [3, 0, 1]])