如何使用 numpy unique 而不对结果进行排序,而只是按照它们在序列中出现的顺序进行排序?像这样的东西吗?
a = [4,2,1,3,1,2,3,4]
np.unique(a) = [4,2,1,3]
而不是
np.unique(a) = [1,2,3,4]
使用朴素的解决方案应该可以编写一个简单的函数。但由于我需要多次执行此操作,有什么快速而简洁的方法可以执行此操作吗?
您可以使用return_index
范围:
>>> import numpy as np
>>> a = [4,2,1,3,1,2,3,4]
>>> np.unique(a)
array([1, 2, 3, 4])
>>> indexes = np.unique(a, return_index=True)[1]
>>> [a[index] for index in sorted(indexes)]
[4, 2, 1, 3]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)