我有一個很大的無序串列,這些數字不是從一個開始的,而且它們之間有一個任意的間隔。python中是否有任何命令或方式(可逆)可以生成另一個有序的數字串列,從一個開始沒有間隙?
例子:
from this:
[24608 25901 25901 27352 27352 25063 25065 24330 24330 23111 23111 23111 25253 25252 25901 27352 23111]
to this
[1 2 2 3 3 4 5 6 6 7 8 8 8 9 2 3 8]
uj5u.com熱心網友回復:
您可以使用pandas.factorize:
a = np.array([24608, 25901, 25901, 27352, 27352, 25063, 25065, 24330, 24330,
23111, 23111, 23111, 25253, 25252, 25901, 27352, 23111])
import pandas as pd
b = pd.factorize(a)[0] 1
輸出:
array([1, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 7, 8, 9, 2, 3, 7])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/478235.html
標籤:Python python-3.x 麻木的
