2

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

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

4

1 回答 1

3

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

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

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

pledges[pledges.Source == 'M0607'].DayOFDrive -= 1
于 2013-06-23T01:55:36.290 回答