Suppose I have a 100×100 matrix in Python like below:
JavaScript
x
6
1
import numpy as np
2
A = np.linspace(0,100*100-1,100*100).reshape([100,100,])
3
4
5
print(A)
6
You can see A below:
JavaScript
1
8
1
[[0.000e+00 1.000e+00 2.000e+00 9.700e+01 9.800e+01 9.900e+01]
2
[1.000e+02 1.010e+02 1.020e+02 1.970e+02 1.980e+02 1.990e+02]
3
[2.000e+02 2.010e+02 2.020e+02 2.970e+02 2.980e+02 2.990e+02]
4
5
[9.700e+03 9.701e+03 9.702e+03 9.797e+03 9.798e+03 9.799e+03]
6
[9.800e+03 9.801e+03 9.802e+03 9.897e+03 9.898e+03 9.899e+03]
7
[9.900e+03 9.901e+03 9.902e+03 9.997e+03 9.998e+03 9.999e+03]]
8
How do I delete a range of rows (like rows 5 – 50) in A?
Advertisement
Answer
create a mask array of the elements you want to keep and then just index the array.
Code:
JavaScript
1
6
1
import numpy as np
2
A = np.linspace(0,100*100-1,100*100).reshape([100,100,])
3
mask = np.ones(len(A), dtype=bool)
4
mask[5:50] = False
5
A = A[mask]
6
Shape before:
JavaScript
1
2
1
(100, 100)
2
Shape after:
JavaScript
1
2
1
(55, 100)
2