In [1]:
import numpy as np

In [2]:
a = np.arange(12).reshape((3, 4))
print(a)


[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

In [3]:
print(a < 5)


[[ True  True  True  True]
 [ True False False False]
 [False False False False]]

In [4]:
print(a[a < 5])


[0 1 2 3 4]

In [5]:
print(a < 10)


[[ True  True  True  True]
 [ True  True  True  True]
 [ True  True False False]]

In [6]:
print(a[a < 10])


[0 1 2 3 4 5 6 7 8 9]

In [7]:
b = a[a < 10]
print(b)


[0 1 2 3 4 5 6 7 8 9]

In [8]:
print(a)


[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

In [9]:
print(a[a < 5].sum())


10

In [10]:
print(a[a < 5].mean())


2.0

In [11]:
print(a[a < 5].max())


4

In [12]:
print(a[a < 10].min())


0

In [13]:
print(a[a < 10].std())


2.8722813232690143

In [14]:
print(a < 5)


[[ True  True  True  True]
 [ True False False False]
 [False False False False]]

In [15]:
print(np.all(a < 5))


False

In [16]:
print(np.all(a < 5, axis=0))


[False False False False]

In [17]:
print(np.all(a < 5, axis=1))


[ True False False]

In [18]:
print(a < 10)


[[ True  True  True  True]
 [ True  True  True  True]
 [ True  True False False]]

In [19]:
print(np.all(a < 10, axis=0))


[ True  True False False]

In [20]:
print(np.all(a < 10, axis=1))


[ True  True False]

In [21]:
print(a[:, np.all(a < 10, axis=0)])


[[0 1]
 [4 5]
 [8 9]]

In [22]:
print(a[np.all(a < 10, axis=1), :])


[[0 1 2 3]
 [4 5 6 7]]

In [23]:
print(a[np.all(a < 10, axis=1)])


[[0 1 2 3]
 [4 5 6 7]]

In [24]:
print(a[:, np.all(a < 5, axis=0)])


[]

In [25]:
print(a[np.all(a < 5, axis=1)])


[[0 1 2 3]]

In [26]:
print(a[np.all(a < 5, axis=1)].ndim)


2

In [27]:
print(a[np.all(a < 5, axis=1)].shape)


(1, 4)

In [28]:
print(a < 5)


[[ True  True  True  True]
 [ True False False False]
 [False False False False]]

In [29]:
print(np.any(a < 5))


True

In [30]:
print(np.any(a < 5, axis=0))


[ True  True  True  True]

In [31]:
print(np.any(a < 5, axis=1))


[ True  True False]

In [32]:
print(a[:, np.any(a < 5, axis=0)])


[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

In [33]:
print(a[np.any(a < 5, axis=1)])


[[0 1 2 3]
 [4 5 6 7]]

In [34]:
print(a[~(a < 5)])


[ 5  6  7  8  9 10 11]

In [35]:
print(a[:, np.all(a < 10, axis=0)])


[[0 1]
 [4 5]
 [8 9]]

In [36]:
print(a[:, ~np.all(a < 10, axis=0)])


[[ 2  3]
 [ 6  7]
 [10 11]]

In [37]:
print(a[np.any(a < 5, axis=1)])


[[0 1 2 3]
 [4 5 6 7]]

In [38]:
print(a[~np.any(a < 5, axis=1)])


[[ 8  9 10 11]]

In [39]:
print(a)


[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

In [40]:
print(np.delete(a, [0, 2], axis=0))


[[4 5 6 7]]

In [41]:
print(np.delete(a, [0, 2], axis=1))


[[ 1  3]
 [ 5  7]
 [ 9 11]]

In [42]:
print(a < 2)


[[ True  True False False]
 [False False False False]
 [False False False False]]

In [43]:
print(np.where(a < 2))


(array([0, 0]), array([0, 1]))

In [44]:
print(np.where(a < 2)[0])


[0 0]

In [45]:
print(np.where(a < 2)[1])


[0 1]

In [46]:
print(np.delete(a, np.where(a < 2)[0], axis=0))


[[ 4  5  6  7]
 [ 8  9 10 11]]

In [47]:
print(np.delete(a, np.where(a < 2)[1], axis=1))


[[ 2  3]
 [ 6  7]
 [10 11]]

In [48]:
print(a == 6)


[[False False False False]
 [False False  True False]
 [False False False False]]

In [49]:
print(np.where(a == 6))


(array([1]), array([2]))

In [50]:
print(np.delete(a, np.where(a == 6)))


[ 0  3  4  5  6  7  8  9 10 11]

In [51]:
print(np.delete(a, np.where(a == 6)[0], axis=0))


[[ 0  1  2  3]
 [ 8  9 10 11]]

In [52]:
print(np.delete(a, np.where(a == 6)[1], axis=1))


[[ 0  1  3]
 [ 4  5  7]
 [ 8  9 11]]

In [53]:
print(a[(a < 10) & (a % 2 == 1)])


[1 3 5 7 9]

In [54]:
print(a[np.any((a == 2) | (a == 10), axis=1)])


[[ 0  1  2  3]
 [ 8  9 10 11]]

In [55]:
print(a[:, ~np.any((a == 2) | (a == 10), axis=0)])


[[ 0  1  3]
 [ 4  5  7]
 [ 8  9 11]]