在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,依此类推。
答案 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