熊猫在数字列中添加标量值?

时间:2018-07-19 13:20:13

标签: python pandas

给出这样的数据框

   ImageId | Width | Height | lb0 | x0 | y0 | lb1 | x1 | y1 | lb2 | x2 | y2
0  abc     | 200   | 500    | ijk | 115| 8  | zyx | 15 | 16 | www | 23 | 42
1  def     | 300   | 800    | ijk | 91 | 23 | zyx | 16 | 15 | www | 8  | 4
2  ghi     | 700   | 400    | ijk | 230| 16 | zyx | 17 | 24 | www | 43 | 109
3  jkl     | 500   | 100    | ijk | 46 | 23 |     |    |    |     |    |
...

当我尝试使用添加到列中

df['x0'] = df['x0'] + 1

我现在得到列x0如下:

151
127
266
82

问题:

  • 如何在Pandas的整个列中添加标量值?

2 个答案:

答案 0 :(得分:1)

您可能没有int dtype。做

df['x0'] = df['x0'].astype(int) + 1

应该工作

答案 1 :(得分:0)

如果您确定列的dtypeint,并且您的代码无效,则可以执行以下操作。

df['x0'] = df['x0'].apply(lambda x : x+1)

OR

df.loc[:,'x0'] += 1