gpt4 book ai didi

python - 如何选择两个 numpy 索引的范围?

转载 作者:行者123 更新时间:2023-12-04 03:31:46 25 4
gpt4 key购买 nike

我有一个简单的 numpy 数组,我想创建一个单独的数组,每两个索引取两个元素
例如:

x = np.arange(0,20)

print(x)
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
我的目标是获得一系列
[2 3 6 7 10 11 14 15 18 19]
我该怎么做?我试过这个:
print(x[1:len(x)-1:2])

[ 1 3 5 7 9 11 13 15 17]
但我只得到所有其他索引。

最佳答案

您可以使用传统的 start:stop:step 简单地做到这一点。通过 reshape 数组,索引,然后将其展平,没有任何模数的约定。尝试这个 -

  • 通过将其 reshape 为 (-1,2),您可以创建双元组序列
  • 然后,您只需从 1 开始并执行 2 次
  • 最后你把它压平。
  • x.reshape(-1,2)[1::2].flatten()
    array([ 2,  3,  6,  7, 10, 11, 14, 15, 18, 19])
    这应该是 明显更快 而不是使用数学运算来检查每个值的方法,因为这只是 reshape 和索引。

    关于python - 如何选择两个 numpy 索引的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66646740/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com