我有一个数据框,其中有一列“cat100”,其值如下:
'A' 'B' ... 'Y' 'Z' 'AA' 'AB' ...
我想使用 pd.factorize 对列进行因式分解,使 AA 在“B”“C”...“Z”之后。
我试过类似的东西:
df = pd.DataFrame(['A','B','AA'])
df[0] = pd.factorize(df[0], sort=True)[0]
但这会将 A 分配给 0,将 B 分配给 2,将 AA 分配给 1。我希望将 AA 分配给 2,将 B 分配给 1。
我已经寻找方法来做到这一点,但没有找到任何东西。有没有办法做到这一点?