2 回答

TA贡献1802条经验 获得超10个赞
groupby+ cumsum+any
您可以groupby计算sob系列的累计总和:
df = pd.DataFrame({'signal': [True, False, True, False, False,
False, True, False, False, False],
'sob': [True, False, False, False, True,
False, False, True, False, False]})
df['any_flag'] = df.groupby(df['sob'].cumsum())['signal'].transform('any')
print(df)
signal sob any_flag
0 True True True
1 False False True
2 True False True
3 False False True
4 False True True
5 False False True
6 True False True
7 False True False
8 False False False
9 False False False
添加回答
举报