如何从Pandas中的列中的每个值中减去1

时间:2013-06-23 01:35:15

标签: python pandas

我认为这应该是一个简单的问题,但我找不到解决方案。

在数据框的行的子集中,我需要将列中每个项的值减1。 我尝试了各种方法,但价值继续保持不变。 继SO上的另一个条目之后,我尝试了

def minus1(x):
    x =x-1
    return x

pledges[pledges.Source == 'M0607'].DayOFDrive = pledges[pledges.Source == 'M0607'].DayOFDrive.map(minus1)

当我输入

pledges[pledges.Source == 'M0607'].DayOFDrive

要检查它,原来未更改的数据回来了。 我也试过

pledges[pledges.Source == 'M0607'].DayOFDrive = pledges[pledges.Source == 'M0607'].DayOFDrive-1

也没有做任何事情。

对于行的子集,如何将列中的所有值减少1?

1 个答案:

答案 0 :(得分:2)

如果这返回您要修改的数据:

pledges[pledges.Source == 'M0607'].DayOFDrive

然后尝试以这种方式修改它:

pledges[pledges.Source == 'M0607'].DayOFDrive -= 1