python – 从pandas数据帧中替换单元格值
发布时间:2020-12-20 11:05:37 所属栏目:Python 来源:网络整理
导读:这是一个示例数据.每当我在“事件”列中看到“未赢”或“未失败”时,我想将“时间”列的第1行中的值更改为0. x = pd.DataFrame({'Id': [102,303,944,111,675,236],'Event':['win','fail','Not fail','win','Not win'],'Time':[10,22,23,45,0]}) 这就是结果的
这是一个示例数据.每当我在“事件”列中看到“未赢”或“未失败”时,我想将“时间”列的第1行中的值更改为0.
x = pd.DataFrame({'Id': [102,303,944,111,675,236],'Event':['win','fail','Not fail','win','Not win'],'Time':[10,22,23,45,0]}) 这就是结果的样子. Event Id Time 0 win 102 10 1 fail 303 0 2 Not fail 944 0 3 win 111 23 4 win 675 0 5 Not win 236 0 解决方法
使用带有
pd.Series.shift 的布尔掩码,然后是
pd.DataFrame.loc :
mask = x['Event'].isin(['Not fail','Not win']).shift(-1).fillna(False) x.loc[mask,'Time'] = 0 print(x) Event Id Time 0 win 102 10 1 fail 303 0 2 Not fail 944 0 3 win 111 23 4 win 675 0 5 Not win 236 0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |