我有一个数据框,我想根据 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
答案 0 :(得分:0)
您可以对 'day'
列使用布尔索引并从 'month'
列的相关部分减去 1:
df.loc[df.day<6, 'month'] -= 1