我正在学习迭代并在 pandas 中应用函数。我在下面有一个例子。每 4 行应用一个函数(第一行 + 0、第二行 + 0、第三行 = 0、第四行 = 0),依此类推。有执行此操作的链接资源吗?非常感谢。
data = {'DATE': ['2023-12-29', '2023-12-29', '2023-12-29', '2023-12-29','2024-01-31','2024-01-31','2024-01-31','2024-01-31',
'2024-02-27','2024-02-27','2024-02-27','2024-02-27'],
'score': [10, 5, 30, 41,12,7,32,43,14,9,34,45]}
df = pd.DataFrame(data=data)
DATE Score Result
0 2023-12-29 10 10
1 2023-12-29 5 5
2 2023-12-29 30 0
3 2023-12-29 41 0
4 2024-01-31 12 12
5 2024-01-31 7 7
6 2024-01-31 32 0
7 2024-01-31 43 0
8 2024-02-27 14 14
9 2024-02-27 9 9
10 2024-02-27 34 0
11 2024-02-27 45 0
代码
cond = df.index.to_series().mod(4).isin([2, 3])
df['result'] = df['score'].mask(cond, 0)
df
DATE score result
0 2023-12-29 10 10
1 2023-12-29 5 5
2 2023-12-29 8 0
3 2023-12-29 2 0
4 2023-12-29 7 7
5 2023-12-27 10 10
6 2023-12-27 12 0
7 2023-12-27 7 0
8 2023-12-27 9 9
9 2024-01-31 13 13
10 2024-02-27 14 0
11 2024-02-27 9 0