如何从 x-n 元素开始切片 numpy 数组?
How to slice numpy array starting from x-n elements?
如果我有一个 numpy 数组:
arr = np.array([1,2,3,4,5,6,7,8,9,10])
x = 3 # index
n = 5
m = 2
有没有办法得到这样的输出?
output: np.array([1,2,3,4,5,6])
我们从索引 x=3
的 4 开始。输出由所述索引之前的 n=5
个元素组成,但不环绕(在本例中不超过 1)。并且在所述索引之后还包含 m=2
个元素。
谢谢。
你可以使用这个:
import numpy as np
arr = np.array([1,2,3,4,5,6,7,8,9,10])
x = 3
n = 5
m = 2
arr[max(0, x-n):x+m+1]
# array([1, 2, 3, 4, 5, 6])
如果我有一个 numpy 数组:
arr = np.array([1,2,3,4,5,6,7,8,9,10])
x = 3 # index
n = 5
m = 2
有没有办法得到这样的输出?
output: np.array([1,2,3,4,5,6])
我们从索引 x=3
的 4 开始。输出由所述索引之前的 n=5
个元素组成,但不环绕(在本例中不超过 1)。并且在所述索引之后还包含 m=2
个元素。
谢谢。
你可以使用这个:
import numpy as np
arr = np.array([1,2,3,4,5,6,7,8,9,10])
x = 3
n = 5
m = 2
arr[max(0, x-n):x+m+1]
# array([1, 2, 3, 4, 5, 6])