Python中为DataFrame添加从1开始的行号ID列的方法
解决方法
你可以通过以下几种简单方式实现从1开始的自增ID列:
方法1:调整range()的起始与结束值
直接修改range()的参数,让它从1开始,到len(df)+1结束(因为range是左闭右开区间):
df = df.assign(ID=range(1, len(df)+1))
方法2:利用DataFrame的索引
默认情况下DataFrame的索引是从0开始的,只需给索引加1即可生成目标ID列:
# 直接添加列 df['ID'] = df.index + 1 # 或者用assign保持链式调用 df = df.assign(ID=df.index + 1)
注意:如果你的DataFrame索引不是连续的0起始序列,这种方法可能不适用,此时优先用方法1。
方法3:使用numpy的arange()
借助numpy的arange()函数生成从1开始的序列:
import numpy as np df = df.assign(ID=np.arange(1, len(df)+1))
最终期望输出
处理后你的DataFrame会变成:
| state | sex | birth | player | ID |
|---|---|---|---|---|
| QLD | m | 1993 | Dave | 1 |
| QLD | m | 1992 | Rob | 2 |
内容的提问来源于stack exchange,提问作者user20370286
相关产品推荐
相关产品推荐

