我有一个包含一列的数据框
Customer
0. ABC
1. ABC
2. DEF
3. GHI
4. JKL
5. JKL
我需要添加另一列,以便每个客户都有一个 ID,如下所示:
Customer Id
0. ABC 1
1. ABC 1
2. DEF 2
3. GHI 3
4. JKL 4
5. JKL 4
我该怎么做?
请您参考如下方法:
选项 1:您可以使用 groupby().ngroup():
df['Id'] = df.groupby('Customer').ngroup()+1
选项 2:您还可以使用 rank:
df['Id'] = df['Customer'].rank(method='dense')
输出:
Customer Id
0.0 ABC 1
1.0 ABC 1
2.0 DEF 2
3.0 GHI 3
4.0 JKL 4
5.0 JKL 4
