如何根据Python中的两个条件更改列的值
我有一个数据集,其中我有游戏时间和事件时间如何根据Python中的两个条件更改列的值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据集,其中我有游戏时间和事件时间 EVENT GAME 0:34 0:43 NaN 0:23 2:34 3:43 NaN 4:50 我想用GAME列中的值替换GAME
EVENT GAME
0:34 0:43
NaN 0:23
2:34 3:43
NaN 4:50
我想用GAME列中的值替换GAME<0.24的EVENT列中的NaN
df['EVENT'][(df['GAME'] < '0:24') & (df['EVENT'] == 'NaN')] = df['GAME']
df['EVENT'][(df['GAME']<'0:24')和(df['EVENT']='NaN')]=df['GAME']
我试过这个,但不起作用。对不起,如果这是显而易见的。我是Python新手 您可以用于检查NaN
:
df.loc[(df['GAME'] < '0:24') & (df['EVENT'].isnull()), 'EVENT'] = df['GAME']
print (df)
EVENT GAME
0 0:34 0:43
1 0:23 0:23
2 2:34 3:43
3 NaN 4:50
或:
mask = (df['GAME'] < '0:24') & (df['EVENT'].isnull())
df['EVENT'] = df['EVENT'].mask(mask, df['GAME'])
print (df)
EVENT GAME
0 0:34 0:43
1 0:23 0:23
2 2:34 3:43
3 NaN 4:50
df['EVENT'] = np.where(mask, df['GAME'], df['EVENT'])
print (df)
EVENT GAME
0 0:34 0:43
1 0:23 0:23
2 2:34 3:43
3 NaN 4:50