gpt4 book ai didi

arrays - 如何从 NumPy 中的二维数组获取多个坐标

转载 作者:行者123 更新时间:2023-12-02 01:45:06 25 4
gpt4 key购买 nike

我有一个矩阵 A 和一个对应于坐标 C 的(元组列表)。我如何获得 A[C]

例如:

>>> A
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]])
>>> C
[(0,0), (1,2), (4,-1)]

我想要但不知道名字的函数是这样工作的:

>>> func(A,C)
[0, 7, 24]

这样的函数(或一些时髦的 NumPy 索引语法)是否存在,或者 for 循环是否是获得此结果的唯一方法?

最佳答案

您有一个 X,Y 对列表。这不能直接提供给数组索引器 - 它需要稍微改变一下。

代替 [(X,Y), (X,Y), (X,Y)],您需要 [(X,X,X), (Y,Y ,Y)]:

>>> x = [x for x,y in C]
>>> y = [y for x,y in C]
>>> A[x, y]
array([ 0, 7, 24])

或者更简单:

>>> A[tuple(zip(*C))]
array([ 0, 7, 24])

关于arrays - 如何从 NumPy 中的二维数组获取多个坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71000151/

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