gpt4 book ai didi

python - 我想从数组中选择特定范围的索引

转载 作者:太空狗 更新时间:2023-10-30 01:05:05 25 4
gpt4 key购买 nike

我有一个 numpy 数组,我想根据它们的索引号选择一些值。我正在使用 Python3.6

例如:

np.array:
index#
[0]
[1] + + + + + + + + + + + + + + + + + + + +
[2] + I want to selct + + I don't want to select:
[3] + the indexs: + + [0]
[4] + [2] + + [10]
[5] + [4] + + Or any between
[6] + [6] + +
[7] + [8] + + + + + + + + + + +
[8] + + + + + + + + + +
[9]
[10]

正如您在上面的示例中看到的,我想选择索引号:

if x = 2, 4, 8

如果我只指定 x 中的数字,这将起作用,但是如果我想使 x 成为变量,我尝试了例如:

if x:
for i in np.arange(x+2, x-last_index_number, x+2):
return whatever

在哪里x+2 = 我想要的第一个索引(起点)。x-last_index_number = 我想要的最后一个索引(最后一个点)。x+2 = 步骤(我希望它通过将 2 添加到 x 等来进入下一个索引号。但这没有用。

所以我的问题是我可以指定要按特定顺序选择的数字:

[5][10][15][20][25][30][35]
or
[4][8][12][16][20]

最佳答案

Numpy 切片允许您将索引列表输入数组,以便您可以切片到您想要的精确值。

例如:

    import numpy as np
a = np.random.randn(10)
a[[2,4,6,8]]

这将返回第 2、4、6 和 8 个数组元素(请记住 python 索引从 0 开始)。所以,如果你想要从索引 x 开始的每个第二个元素,你可以简单地用这些元素填充一个列表,然后将该列表提供给数组以获取你想要的元素,例如:

    idx = list(range(2,10,2))
a[idx]

这再次返回所需的元素(索引 2、4、6、8)。

关于python - 我想从数组中选择特定范围的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823335/

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