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

在数据框的行子集中,我需要将列中每个项目的值减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?

最佳答案

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

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


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

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

关于python - 如何从 Pandas 列中的每个值中减去1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17256952/

10-12 20:27