Skip to main content
 首页 » 编程设计

python之在 Pandas 中按组创建递增的整数系列

2025年05月04日15mengfanrong

我正在尝试在 pandas 中按组创建一个整数升序列表:

Group    Date 
  A      2000-01-01 
  A      2000-01-12 
  A      2000-01-15 
  A      2000-10-01 
  B      2005-02-05 
  B      2006-04-10 
  B      2010-08-20 

会变成这样:

Group    Date          obs_num 
  A      2000-01-01      1 
  A      2000-01-12      2 
  A      2000-01-15      3 
  A      2000-10-01      4 
  B      2005-02-05      1 
  B      2006-04-10      2 
  B      2010-08-20      3 

请您参考如下方法:

您还可以使用 cumsum 做一些巧妙的事情,例如:

df['obs_num'] = 1 
df['obs_num'] = df.groupby('Group')['obs_num'].cumsum() 

我的小测试中这个版本为 6 毫秒,而汤姆的解决方案为 14.8 毫秒。