在 Pandas 中按组创建升序整数系列 [英] Create ascending series of integers by group in Pandas
本文介绍了在 Pandas 中按组创建升序整数系列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在 Pandas 中按组创建一个升序的整数列表:
I'm trying to create an ascending list of integers by group in 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 做一些巧妙的事情,例如:
You can also do something slick with cumsum such as:
df['obs_num'] = 1
df['obs_num'] = df.groupby('Group')['obs_num'].cumsum()
我的小测试将此版本设为 6 毫秒,而 Tom 的解决方案为 14.8 毫秒.
My small test had this version as 6ms vs 14.8ms for Tom's solution.
这篇关于在 Pandas 中按组创建升序整数系列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文