tho*_*hor 1 if-statement pandas
我有一个看起来像这样的数据框:
col1 col2
Yes 23123
No 23423423
Yes 34234
No 13213
Run Code Online (Sandbox Code Playgroud)
我想替换col2中的值,以便如果col1中的“是”,则返回空白,如果“否”,则返回初始值
我想看这个:
col1 col2
Yes
No 23423423
Yes
No 13213
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了,但是'No'返回None:
def map_value(x):
if x in ['Yes']:
return ''
else:
return None
df['col2'] = df['col1'].apply(map_value)
Run Code Online (Sandbox Code Playgroud)
有很多方法可以解决这个问题,其中之一是
df.loc[df.col1 == 'Yes', 'col2'] = ''
Run Code Online (Sandbox Code Playgroud)
输出:
col1 col2
Yes
No 23423423
Yes
No 13213
Run Code Online (Sandbox Code Playgroud)