【发布时间】:2019-11-08 08:44:44
【问题描述】:
我的简化数据框如下:
df = pd.DataFrame()
df['A'] = ('IGNORE','IGNORE','IGNORE','YES','IGNORE','YES','YES','YES','IGNORE','IGNORE','IGNORE','YES','IGNORE','IGNORE','IGNORE','IGNORE','IGNORE','IGNORE','IGNORE','IGNORE','IGNORE', 'NO','IGNORE','IGNORE','IGNORE','IGNORE')
我需要反转数据帧(我知道我可以通过 df = df[::-1] 完成)然后按如下方式制作 B 列。
- 如果出现“YES”,则后面的行会导致“GOOD”,直到再次出现“YES”或“NO”,反之亦然,如果出现“NO”,“BAD”除外将替换“GOOD”
愿望输出如下:
df['B'] = ('GOOD','GOOD','GOOD','YES','IGNORE','YES','YES','YES','GOOD','GOOD','GOOD','YES','BAD','BAD','BAD','BAD','BAD','BAD','BAD','BAD','BAD', 'NO','IGNORE','IGNORE','IGNORE','IGNORE')
【问题讨论】:
标签: pandas numpy dataframe for-loop