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

标签 python pandas

我正在尝试在 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 毫秒。

关于python - 在 Pandas 中按组创建递增的整数系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005925/

相关文章:

python - 如何以随机顺序执行多个功能?

python - 为 ttk 组合框设置默认值

python - Alembic - sqlalchemy 不检测现有表

python - 操作groupby对象

python - python中的ANOVA使用带有statsmodels或scipy的pandas数据框?

css - 查找 jupyter notebook 用于数据框的默认 .css

python - 执行 django syncdb 时谷歌云 sql 错误

python - Discord Bot - "Attribute Error: ' NoneType' 对象没有属性 'strip.'

python - pandas 应用并分配给多列

python - 使用 quip-api 和 pandas 阅读 Quip 电子表格