我有一个数据框,我想在其中添加一个列 id,对于第一行,我想以一个精确的值(例如 start_id = 1200)开始,并为每一行在前一个 id 的值上加 1。
数据框:
x
1 paris
2 paris
3 lyon
4 lyon
5 toulouse
预期输出:
id x
1 1200 paris
2 1201 paris
3 1202 lyon
4 1203 lyon
5 1204 toulouse
我试过了,但没有用:
df.insert(start_id, 'id', range(start_id, 1 + len(df)))
我该怎么做?
答案 0 :(得分:2)
使用 range()
和 len(df)
的一种方法,因此它将从 1200 开始,并在 id row's
上递增地添加 column
< /p>
df['id'] = range(1200, 1200+len(df))
答案 1 :(得分:1)
这里有一种不同的方式:
df.assign(id=df.reset_index().index + 1200)
输出:
x id
1 paris 1200
2 paris 1201
3 lyon 1202
4 lyon 1203
5 toulouse 1204