我认为这应该是一个简单的问题,但我找不到解决方案。
在数据框的行的子集中,我需要将列中每个项的值减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?
答案 0 :(得分:2)
如果这返回您要修改的数据:
pledges[pledges.Source == 'M0607'].DayOFDrive
然后尝试以这种方式修改它:
pledges[pledges.Source == 'M0607'].DayOFDrive -= 1