如果这个问题的标题不是很清楚,请提前抱歉,但是我用适当的英语来表达它很困难,我敢肯定,有一个例子可以阐明我要做什么。
假设我输入的内容如下:
[1, 0, 0, 2, 1, 2, 2]
我想要的输出是:
[0, 0, 1, 0, 1, 1, 2]
一一考虑输入项,原因是:
- 在索引0中,我有1。这是我第一次在数组中看到它的时间。因此输出为0。
- 在索引1中,我为0。这是我第一次在数组中看到它的时间。因此输出为0。
- 在索引2中,我有0。这是我在数组中看到它的 second 时间。因此输出为1。
- 在索引3中,我有2。这是我第一次在数组中看到它的时间。因此输出为0。
- 在索引4中,我有1。这是我在数组中看到它的 second 时间。因此输出为1。
- 在索引5中,我有2。这是我在数组中看到它的 second 时间。因此输出为1。
- 在索引6中,我有2。这是我在数组中看到它的第三次。因此输出为2。
在NumPy中执行此操作而不显式循环数组项的一个好方法是什么?
谢谢!