我上一个问题的扩展:Python pandas dataframe backfill based on 2 conditions
我有这样一个数据帧:
Bool Hour Min
0 False 12 00
1 False 12 30
2 False 24 00
3 False 24 30
4 False 12 00
5 False 12 30
6 False 24 00
7 False 24 30
8 True 12 00
9 False 12 30
10 False 24 00
11 False 24 30
12 False 12 00
13 False 12 30
14 False 24 00
15 False 24 30
16 False 12 00
17 False 12 30
18 False 24 00
19 False 24 30
20 False 12 00
21 False 12 30
22 False 24 00
23 True 24 30
我想将'Bool'列中的真值回填到'Hour'第一次达到'12','Min'第一次达到'00'的点。结果是这样的:
Bool Hour Min Result
0 False 12 00 False
1 False 12 30 False
2 False 24 00 False
3 False 24 30 False
4 False 12 00 True <- Desired backfill
5 False 12 30 True <- Desired backfill
6 False 24 00 True <- Desired backfill
7 True 24 30 True <- Desired backfill
8 False 12 00 False
9 False 12 30 False
10 False 24 00 False
11 False 24 30 False
12 False 12 00 False
13 False 12 30 False
14 False 24 00 False
15 False 24 30 False
16 False 12 00 False
17 False 12 30 False
18 False 24 00 False
19 False 24 30 False
20 False 12 00 True <- Desired backfill
21 False 12 30 True <- Desired backfill
22 False 24 00 True <- Desired backfill
23 True 24 30 True <- Desired backfill
非常感谢您的帮助。非常感谢!你知道吗
用途:
解释:
==
的^{-1
一起使用一行True
每组g
|
表示位或的布尔列为@Wen添加新条件答案:
也给匡宏这样的回答:
您也可以使用groupby和backfill来完成
为了清楚起见,我打断了脚步
相关问题 更多 >
编程相关推荐