gpt4 book ai didi

Python索引二维数组

转载 作者:行者123 更新时间:2023-12-01 05:44:50 25 4
gpt4 key购买 nike

如何按列对二维数组进行索引。例如 -

array([[ 0,  1,  2,  3,  4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29],
[30, 31, 32, 33, 34],
[35, 36, 37, 38, 39],
[40, 41, 42, 43, 44],
[45, 46, 47, 48, 49]])

这是一个二维数组。我可以使用 a[:,0] 按列访问它,这将为我提供第一列。但是,如果我想一次读取所有列并想要选择值,例如

[5]

[10][15]

[20][25][37]

然后它应该选择像

这样的值
20

45, 21

46,22, 33

我知道这一定很容易。但我正在学习这些东西。

最佳答案

如果你想让 [5] 给出 20,你必须从 1 开始计数。由于 Python 从 0 开始计数,所以现在就改掉这个习惯:它只会引起头痛。

我不确定你想要什么输出格式,因为 numpy 不支持参差不齐的数组,但也许

>>> idx = np.array([5, 10, 15, 20, 25, 37])
>>> a.T.flat[idx-1]
array([20, 45, 21, 46, 22, 33])

够了吗?在这里,我必须进行转置,将其视为平面数组,然后从索引中减去 1 以匹配您似乎计数的方式。

我们可以使用列表而不是数组(但是我们需要执行 listcomp 或其他操作来减去 1。)例如:

>>> a.T.flat[[4, 9, 14, 19, 24, 36]]
array([20, 45, 21, 46, 22, 33])

关于Python索引二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415730/

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