Python Pandas 在列中求和一个常量值如果日期介于 2 个日期之间

Rom*_*dgz 2 python pandas

让我们假设一个使用日期时间作为索引的数据框,其中我们有一个名为“Score”的列,初始设置为 10:

            score
2016-01-01  10
2016-01-02  10
2016-01-03  10
2016-01-04  10
2016-01-05  10
2016-01-06  10
2016-01-07  10
2016-01-08  10
Run Code Online (Sandbox Code Playgroud)

我想从分数中减去一个固定值(假设为 1),但仅当索引在某些日期之间(例如在第 3 天和第 6 天之间)时:

            score
2016-01-01  10
2016-01-02  10
2016-01-03  9
2016-01-04  9
2016-01-05  9
2016-01-06  9
2016-01-07  10
2016-01-08  10
Run Code Online (Sandbox Code Playgroud)

由于我的真实数据框很大,并且我将为每个日期范围和不同的固定值 N 执行此操作,因此我想实现这一点,而无需为每种情况创建一个设置为 -N 的新列。

类似于 numpy 的where函数,但在一定范围内,如果满足条件,则允许我对当前值求和/减去,否则不执行任何操作。有这样的事情吗?

Cod*_*ent 5

使用索引切片:

df.loc['2016-01-03':'2016-01-06', 'score'] -= 1
Run Code Online (Sandbox Code Playgroud)