假设我有一个numpy整数数组(可以是正数也可以是负数,包含重复数),如下所示:
arr = array([-23, 1983, 2344, 323, -34, 323, -234432, 22343])
现在我想创建一个新数组arr_remapped
,以便所有整数根据它们在数组中的大小得到一个新数字(从零开始),如下所示:
arr_remapped = array([2, 4, 5, 3, 1, 3, 0, 6])
arr_remapped
将包含[0, number_of_unique_numbers-1]
范围内的数字,并且可以包含重复项。
如何在几行代码中仅使用NumPy(或者Scikit-learn)来做到这一点?
它与this问题相似,但我只想在这里使用NumPy。
答案 0 :(得分:-1)
NumPy中有一个功能:argsort
。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.argsort.html