gpt4 book ai didi

python - 从另一个数组中匹配位置的数组和元素中删除重复项

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:47 25 4
gpt4 key购买 nike

我有两个 numpy 数组,我想从第一个数组中删除重复值(包括原始值)并删除第二个数组中匹配位置的项目。

例如:

a = [1, 2, 2, 3]
b = ['a', 'd', 'f', 'c']

变成:

a = [1, 3]
b = ['a', 'c']

我需要有效地做到这一点,而不是使用耗时的天真解决方案

最佳答案

这是一个 np.unique -

unq,idx,c = np.unique(a, return_index=True, return_counts=True)
unq_idx = np.sort(idx[c==1])
a_out = a[unq_idx]
b_out = b[unq_idx]

sample 运行-

In [34]: a
Out[34]: array([1, 2, 2, 3])

In [35]: b
Out[35]: array(['a', 'd', 'f', 'c'], dtype='|S1')

In [36]: unq,idx,c = np.unique(a, return_index=1, return_counts=1)
...: unq_idx = idx[c==1]
...: a_out = a[unq_idx]
...: b_out = b[unq_idx]

In [37]: a_out
Out[37]: array([1, 3])

In [38]: b_out
Out[38]: array(['a', 'c'], dtype='|S1')

关于python - 从另一个数组中匹配位置的数组和元素中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52579935/

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