Pandas:如何向新列添加增量值?

时间:2021-01-06 15:38:13

标签: python pandas dataframe

我有一个数据框,我想在其中添加一个列 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)))

我该怎么做?

2 个答案:

答案 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