Skip to main content
 首页 » 编程设计

python之为另一列中的每个唯一值创建一个具有唯一值的列

2025年05月04日11java哥

我有一个包含一列的数据框

         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