【发布时间】:2021-12-13 16:30:00
【问题描述】:
我必须订购一个重复值从 0 到 9 的数组并获得向量初始索引。输入数组是:
[3, 1, 2, 0, 4, 5, 6, 7, 1, 0, 9, 5, 3, 9, 2, 7, 6, 4]
我想获得以下订单:
array([0, 1, 2, 3, 4, 5, 6, 7, 9, 0, 1, 2, 3, 4, 5, 6, 7, 9], dtype=uint8)
代替:
array([0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 9, 9])
由以下给出:
import numpy as np
a = [3, 1, 2, 0, 4, 5, 6, 7, 1, 0, 9, 5, 3, 9, 2, 7, 6, 4]
np.argsort(a)
有没有办法操作这个函数?
【问题讨论】:
-
所有数字总是具有相同的计数吗? 0-9 每个在输入中出现两次?
-
为什么你删除了旧版本的问题,重新提问,仍然没有解决我问你的任何澄清问题?
-
在这种情况下,您对订单的定义没有很好地定义。如果每个元素的重复次数不同,您希望得到什么?
-
让我再试一次:如果
a改为[1,1,4,4,2,3],结果应该是什么,为什么? -
如果 a 是 [1,1,4,4,2,3] 我需要对应于 [1,2,3,4,1,4] 的 a 的索引