给定以下数据框:
我到目前为止已经尝试过这个:
...但是它不起作用!
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': ['A','A','A','B','B','B'],
'B': ['a','a','b','a','a','a'],
})
df
A B
0 A a
1 A a
2 A b
3 B a
4 B a
5 B a
我想创建一个名为'C'的列,按照列A和B中的每个组对行进行编号,如下所示:
A B C
0 A a 1
1 A a 2
2 A b 1
3 B a 1
4 B a 2
5 B a 3
我到目前为止已经尝试过这个:
df['C'] = df.groupby(['A','B'])['B'].transform('rank')
...但是它不起作用!
rank()
函数在处理分组列值为数字时表现更佳。 - paulperryrank()
假设数据已经排序,但实际情况可能并非如此。 - Kocas