pandas编号/排序相同列值的集合

时间:2016-04-27 18:49:32

标签: python numpy pandas

在pandas中,如何对相同列值的数组进行编号/排序?例如:

Col1 Col2
Andy  1
Chad  1
Bill  1 
Andy  2
Bill  2
Bill  3
Chad  2
比尔4 由于Andy得到2个值,我想在第2列中将它编号为1和2.对于Bill,我想将其编号为1,2,3和4,依此类推。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要Col2中的名字的累积计数,这只是;

df['Col2'] = df.groupby('Col1').cumcount()+1

样本;

    Col1
0   Andy
1   Chad
2   Bill
3   Andy
4   Bill
5   Bill
6   Chad
7   Bill

df['Col2'] = df.groupby('Col1').cumcount()+1

    Col1  Col2
0   Andy     1
1   Chad     1
2   Bill     1
3   Andy     2
4   Bill     1
5   Bill     2
6   Chad     2
7   Bill     3