如何在熊猫数据框中的日期时间范围之间进行过滤

时间:2021-04-01 09:51:24

标签: python pandas

我有一个数据框,我想根据 day 范围进行过滤,并根据该条件设置 month 列。

简单来说,在第(1-5)天之间的任何一天,从month中减去1,否则设置month = month

  day   month
0   1   6
1   4   6
2   4   6
3   4   6
4   4   6
5   4   6
6   6   6
7   8   6
8   12  6
9   12  6


if all(df[df['day'].between(1, 5)]):
    
    df.month = df.month - 1
    
else:
    df.month = df.month

预期输出

  day   month
0   1   5
1   4   5
2   4   5
3   4   5
4   4   5
5   5   5
6   6   6
7   8   6
8   12  6
9   12  6

1 个答案:

答案 0 :(得分:0)

您可以对 'day' 列使用布尔索引并从 'month' 列的相关部分减去 1:

df.loc[df.day<6, 'month'] -= 1