gpt4 book ai didi

python - 使用二维数组作为索引从二维 numpy 数组中提取元素

转载 作者:行者123 更新时间:2023-11-28 22:18:06 25 4
gpt4 key购买 nike

我有一个二维数组:

>>> input = np.array([[1,2],[3,4]])
>>> input
array([[1, 2],
[3, 4]])

我还有这个数组,它的列数与输入数组相同,并且每行都包含从输入数组的匹配列中提取的索引。

>>> indices = np.array([[0],[1]])
>>> indices
array([[0],
[1]])

在此示例中,我希望获得以下数组作为输出:

array([[1],
[4]])

有什么办法可以实现这个目标吗?

最佳答案

通过 NumPy 数组索引的一种方法。

A = np.array([[1,2],[3,4]])
idx = np.array([[0],[1]])

res = A[np.arange(A.shape[0])[:, None], idx]

print(res)

[[1]
[4]]

请注意,我们需要确保行索引器和列索引器具有相同的形状,在本例中为 (n, 1),其中 n 是行数。

关于python - 使用二维数组作为索引从二维 numpy 数组中提取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50762293/

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