gpt4 book ai didi

python - numpy.unique 保留顺序

转载 作者:IT老高 更新时间:2023-10-28 22:01:54 28 4
gpt4 key购买 nike

['b','b','b','a','a','c','c']

numpy.unique 给出

['a','b','c']

我怎样才能保留原始订单

['b','a','c']

很好的答案。奖金问题。为什么这些方法都不适用于这个数据集? http://www.uploadmb.com/dw.php?id=1364341573这是问题numpy sort wierd behavior

最佳答案

unique() 很慢,O(Nlog(N)),但你可以通过以下代码来做到这一点:

import numpy as np
a = np.array(['b','a','b','b','d','a','a','c','c'])
_, idx = np.unique(a, return_index=True)
print(a[np.sort(idx)])

输出:

['b' 'a' 'd' 'c']

Pandas.unique() 对于大数组 O(N) 来说要快得多:

import pandas as pd

a = np.random.randint(0, 1000, 10000)
%timeit np.unique(a)
%timeit pd.unique(a)

1000 loops, best of 3: 644 us per loop
10000 loops, best of 3: 144 us per loop

关于python - numpy.unique 保留顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15637336/

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