如何为DataFrame中每个ID创建从0开始编号的新列
解决方法
你之前使用的df.groupby('ID')['ID'].transform('count')是统计每个ID对应的总行数,所以每个ID下的所有行都会显示同一个数值,这和你要的组内递增编号需求不符。
要实现每个独立ID下从0开始的递增编号,直接用cumcount()方法即可:
df['Sequence'] = df.groupby('ID').cumcount()
cumcount()会对每个分组内的行从0开始依次计数,正好匹配你期望的效果。
内容的提问来源于stack exchange,提问作者Oscar
相关产品推荐
相关产品推荐

