import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print(x[2])  
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
print(x[2])  
print(x[2][1])  
print(x[2, 1])  
 
3
[21 22 23 24 25]
22
22
 
 import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print(x[0:2])  
print(x[1:5:2])  
print(x[2:])  
print(x[:2])  
print(x[-2:])  
print(x[:-2])  
print(x[:])  
print(x[::-1])  
 
[1 2]
[2 4]
[3 4 5 6 7 8]
[1 2]
[7 8]
[1 2 3 4 5 6]
[1 2 3 4 5 6 7 8]
[8 7 6 5 4 3 2 1]
 
import numpy as np
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
print(x[0:2])
print(x[1:5:2])
print(x[2:])
print(x[:2])
print(x[-2:])
print(x[:-2])
print(x[:])
print(x[2, :])  
print(x[:, 2])  
print(x[0, 1:4])  
print(x[1:4, 0])  
print(x[1:3, 2:4])
print(x[:, :])
print(x[::2, ::2])
print(x[::-1, :])
print(x[:, ::-1])
 
[[11 12 13 14 15]
 [16 17 18 19 20]]
[[16 17 18 19 20]
 [26 27 28 29 30]]
[[21 22 23 24 25]
 [26 27 28 29 30]
 [31 32 33 34 35]]
[[11 12 13 14 15]
 [16 17 18 19 20]]
[[26 27 28 29 30]
 [31 32 33 34 35]]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [21 22 23 24 25]]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [21 22 23 24 25]
 [26 27 28 29 30]
 [31 32 33 34 35]]
[21 22 23 24 25]
[13 18 23 28 33]
[12 13 14]
[16 21 26]
[[18 19]
 [23 24]]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [21 22 23 24 25]
 [26 27 28 29 30]
 [31 32 33 34 35]]
[[11 13 15]
 [21 23 25]
 [31 33 35]]
[[31 32 33 34 35]
 [26 27 28 29 30]
 [21 22 23 24 25]
 [16 17 18 19 20]
 [11 12 13 14 15]]
[[15 14 13 12 11]
 [20 19 18 17 16]
 [25 24 23 22 21]
 [30 29 28 27 26]
 [35 34 33 32 31]]
 
import numpy as np
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
print(x)
x[0::2, 1::3] = 0
print(x)
 
[[11 12 13 14 15]
 [16 17 18 19 20]
 [21 22 23 24 25]
 [26 27 28 29 30]
 [31 32 33 34 35]]
[[11  0 13 14  0]
 [16 17 18 19 20]
 [21  0 23 24  0]
 [26 27 28 29 30]
 [31  0 33 34  0]]
 
x = np.random.randint(1, 100, [2, 2, 3])
print(x)
print(x[1, ...])
print(x[..., 2])
 
[[[82 24  7]
  [31 27 97]]
 [[64 18 33]
  [93 90 61]]]
[[64 18 33]
 [93 90 61]]
[[ 7 97]
 [33 61]]
 
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
r = [0, 1, 2]
print(x[r])
r = [0, 1, -1]
print(x[r])
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
r = [0, 1, 2]
print(x[r])
r = [0, 1, -1]
print(x[r])
r = [0, 1, 2]
c = [2, 3, 4]
y = x[r, c]
print(y)
 
[1 2 3]
[1 2 8]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [21 22 23 24 25]]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [31 32 33 34 35]]
[13 19 25]
 
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
r = np.array([[0, 1], [3, 4]])
print(x[r])
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
r = np.array([[0, 1], [3, 4]])
print(x[r])
r = np.array([[0, 0], [4, 4]])
c = np.array([[0, 4], [0, 4]])
y = x[r, c]
print(y)
 
[[1 2]
 [4 5]]
[[[11 12 13 14 15]
  [16 17 18 19 20]]
 [[26 27 28 29 30]
  [31 32 33 34 35]]]
[[11 15]
 [31 35]]
 
import numpy as np
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
y = x[0:3, [1, 2, 2]]
print(y)
 
[[12 13 13]
 [17 18 18]
 [22 23 23]]
 
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
r = [0, 1, 2]
print(np.take(x, r))
r = [0, 1, -1]
print(np.take(x, r))
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
r = [0, 1, 2]
print(np.take(x, r, axis=0))
r = [0, 1, -1]
print(np.take(x, r, axis=0))
r = [0, 1, 2]
c = [2, 3, 4]
y = np.take(x, [r, c])
print(y)
 
[1 2 3]
[1 2 8]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [21 22 23 24 25]]
[[11 12 13 14 15]
 [16 17 18 19 20]
 [31 32 33 34 35]]
[[11 12 13]
 [13 14 15]]
 
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = x > 5
print(y)
print(x[x > 5])
x = np.array([np.nan, 1, 2, np.nan, 3, 4, 5])
y = np.logical_not(np.isnan(x))
print(y)
print(x[y])
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
y = x > 25
print(y)
print(x[x > 25])
 
[False False False False False  True  True  True]
[6 7 8]
[False  True  True False  True  True  True]
[1. 2. 3. 4. 5.]
[[False False False False False]
 [False False False False False]
 [False False False False False]
 [ True  True  True  True  True]
 [ True  True  True  True  True]]
[26 27 28 29 30 31 32 33 34 35]
 
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
print(len(x))  
plt.plot(x, y)
mask = y >= 0
print(len(x[mask]))  
print(mask)
'''
[ True  True  True  True  True  True  True  True  True  True  True  True
  True  True  True  True  True  True  True  True  True  True  True  True
  True False False False False False False False False False False False
 False False False False False False False False False False False False
 False False]
'''
plt.plot(x[mask], y[mask], 'bo')
mask = np.logical_and(y >= 0, x <= np.pi / 2)
print(mask)
'''
[ True  True  True  True  True  True  True  True  True  True  True  True
  True False False False False False False False False False False False
 False False False False False False False False False False False False
 False False False False False False False False False False False False
 False False]
'''
plt.plot(x[mask], y[mask], 'go')
plt.show()
 
50
25
[ True  True  True  True  True  True  True  True  True  True  True  True
  True  True  True  True  True  True  True  True  True  True  True  True
  True False False False False False False False False False False False
 False False False False False False False False False False False False
 False False]
[ True  True  True  True  True  True  True  True  True  True  True  True
  True False False False False False False False False False False False
 False False False False False False False False False False False False
 False False False False False False False False False False False False
 False False]
 

 
import numpy as np
x = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
y = np.apply_along_axis(np.sum, 0, x)
print(y)  
y = np.apply_along_axis(np.sum, 1, x)
print(y)  
y = np.apply_along_axis(np.mean, 0, x)
print(y)  
y = np.apply_along_axis(np.mean, 1, x)
print(y)  
def my_func(x):
    return (x[0] + x[-1]) * 0.5
y = np.apply_along_axis(my_func, 0, x)
print(y)  
y = np.apply_along_axis(my_func, 1, x)
print(y)  
 
[105 110 115 120 125]
[ 65  90 115 140 165]
[21. 22. 23. 24. 25.]
[13. 18. 23. 28. 33.]
[21. 22. 23. 24. 25.]
[13. 18. 23. 28. 33.]
 
11+12+13+14+15
 
65
 
import numpy as np
arr = np.arange(9).reshape(3, 3)
print(arr)
x = arr[:, [2, 1, 0]]
print(x)
 
[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[2 1 0]
 [5 4 3]
 [8 7 6]]
 
y = arr[[1, 0, 2], :]
print(y)
 
[[3 4 5]
 [0 1 2]
 [6 7 8]]
 
z = arr[::-1, :]
print(z)
 
[[6 7 8]
 [3 4 5]
 [0 1 2]]
 
w = arr[:, ::-1]