我有以下数据框:
df = pd.DataFrame({'ID': ['1','1','1','1','2','2','2'], \
'episode': ['111', '112','113', '114','115','116','117'], \
'risk': ['L', 'L','H', 'L','H','L','L'], \
'date': ['21-01-2015', '27-02-2015','19-03-2015', '09-05-2015','3-01-2015','7-02-2015','11-05-2015']})
每个ID中可以有几行(不同的插曲编号),并且每一行具有L或H的风险标识。我要检查每个ID是否存在风险H。一旦ID的任何插曲中存在风险H,我要将剩余行中的风险更改为H,以便相同ID的任何之前插曲都具有风险H。数据已按ID、事件和日期排序。最终输出为:
ID date episode risk
0 1 2015-01-21 111 L
1 1 2015-02-27 112 L
2 1 2015-03-19 113 H
3 1 2015-05-09 114 H
4 2 2015-01-03 115 H
5 2 2015-02-07 116 H
6 2 2015-05-11 117 H
我怎样才能做到这一点?