【问题标题】:How to slice numpy array starting from x-n elements? [duplicate]如何从 x-n 元素开始切片 numpy 数组? [复制]
【发布时间】:2021-07-11 01:03:58
【问题描述】:

如果我有一个 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])

我们从 4 开始,即索引 x=3。输出由所述索引之前的n=5 元素组成,但不会环绕(在这种情况下不会超过 1)。并且还由所述索引之后的m=2元素组成。

谢谢。

【问题讨论】:

    标签: python numpy slice


    【解决方案1】:

    你可以用这个:

    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])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-20
      • 2014-02-03
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 2016-12-26
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多