gpt4 book ai didi

python - 如何从两个数组中找到匹配的元素和索引?

转载 作者:行者123 更新时间:2023-12-04 00:52:20 36 4
gpt4 key购买 nike

例如,

a = [1, 1, 2, 4, 4, 4, 5, 6, 7, 100]
b = [1, 2, 2, 2, 2, 4, 5, 7, 8, 100]
我可以使用以下方法找到匹配的元素:
np.intersect1d(a,b)
输出:
array([  1,   2,   4,   5,   7, 100])
那么,如何分别获取数组 ab 中匹配元素的索引?
IDL 中有一个函数 "match" - https://www.l3harrisgeospatial.com/docs/match.html
Python中有类似的功能吗?

最佳答案

return_indices 中使用 numpy.intersect1d :

intersect, ind_a, ind_b = np.intersect1d(a,b, return_indices=True)
输出:
intersect
# array([ 1, 2, 4, 5, 7, 100])
ind_a
# array([0, 2, 3, 6, 8, 9], dtype=int64)
ind_b
# array([0, 1, 5, 6, 7, 9], dtype=int64)
然后可以重复使用,如:
np.array(a)[ind_a]
np.array(b)[ind_b]

array([ 1, 2, 4, 5, 7, 100])

关于python - 如何从两个数组中找到匹配的元素和索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65605535/

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