gpt4 book ai didi

python - 如何以相反的顺序获取numpy多维数组的索引?

转载 作者:行者123 更新时间:2023-12-03 23:39:57 25 4
gpt4 key购买 nike

例如我有这个 np.array:

[[True, True, False, False]
[True, False, True, False]
[False, True, False, True]
[False, False, True, True]]
我想获得每行中第一个为 True 的索引,但从行的后面开始计数。所以预期输出是与每一行对应的 (4,) 数组:
[1,  # First index that is True is at index 1
2, # First index that is True is at index 2
3, # First index that is True is at index 3
3] # First index that is True is at index 3

最佳答案

a = np.array(
[[True, True, False, False],
[True, False, True, False],
[False, True, False, True],
[False, False, True, True]]
)

idx = a.shape[1] - 1 - np.argmax(a[:,::-1], axis=1)
np.argmax() 将找到最高值的索引(对于轴=1 的每一行)。由于 True 等于 1, False 等于 0,所以它会记录第一个 True 值的索引。只需反转行,这样您就可以找到“最后一个”,然后从行长度中减去它,以说明您向后计数的事实。

关于python - 如何以相反的顺序获取numpy多维数组的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66410342/

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