给定两个数组,是否有一种 numpy 非循环方法来检查数组之间的每个第 i 个索引是否匹配,也就是检查每个 i 如果 a[i]==b[i]?
a = np.array([1,2,3,4,5,6,7,8])
b = np.array([2,3,4,5,6,7,8,9])
Output: 0 matches
我希望已经有人问过这个问题,但我找不到我要找的东西,如果是的话,我深表歉意。
原文由 dward4 发布,翻译遵循 CC BY-SA 4.0 许可协议
给定两个数组,是否有一种 numpy 非循环方法来检查数组之间的每个第 i 个索引是否匹配,也就是检查每个 i 如果 a[i]==b[i]?
a = np.array([1,2,3,4,5,6,7,8])
b = np.array([2,3,4,5,6,7,8,9])
Output: 0 matches
我希望已经有人问过这个问题,但我找不到我要找的东西,如果是的话,我深表歉意。
原文由 dward4 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 numpy.where
提取两个值满足指定条件的索引:
import numpy
a = numpy.array([0, 1, 2, 3, 4, 5, 6])
b = numpy.array([6, 5, 4, 3, 2, 1, 6])
numpy.where(a==b)
(array([3, 6]),)
原文由 Reblochon Masque 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答941 阅读✓ 已解决
尝试这个:
它创建一个从 0 到长度
a
的新数组,表示索引。然后使用a==b
对数组进行切片,返回索引,其中a
和b
相同。另外来自@Reblochon-Masque:
您可以使用
numpy.where
提取两个值满足指定条件的索引:输出: