是否有一种优雅的方法将组值重新分配给增加的值?
我有一个已经按顺序排列的表:
X = pandas.DataFrame([['a',2],['b',4],['ba',4],['c',8]],columns=['value','group'])
X
Out[18]:
value group
0 a 2
1 b 4
2 ba 4
3 c 8
但是我想将组值重新映射为它们将一个一个地增加。最终结果将如下所示:
value group
0 a 1
1 b 2
2 ba 2
3 c 3
答案 0 :(得分:1)
使用category
或factorize
X.group.astype('category').cat.codes+1 # pd.factorize(X.group)[0]+1
Out[105]:
0 1
1 2
2 2
3 3
dtype: int8