Skip to main content
 首页 » 编程设计

python之pandas dataframe 应用 lambda if else erro

2025年05月04日12jackei

我正在尝试在 pandas df 上应用带有 if-else 条件的 lambda df 如下所示:

col1 col2 col3 col4 <---column names 
None None None col4 <---column values in str 
col1 None None None 
None col2 None None 
 
 
 
df_twitter_archive_master[['col1','col2','col3','col4']].apply(lambda x: x=0 if x=='None' else x=1) 

基本上,它应该用 0 替换“无”值,否则用 1 但我一直收到这个错误

df_twitter_archive_master[['col1','col2','col3','col4']].apply(lambda x: x=0 if x=='None' else x=1) 
 
SyntaxError: invalid syntax 

^ 在 x=1 下

我做错了什么? ?

请您参考如下方法:

国际联合会

df.replace('None',np.nan).notnull().astype(int) 
Out[31]:  
   col1  col2  col3  col4 
0     0     0     0     1 
1     1     0     0     0 
2     0     1     0     0 

基于你的 lambda 方法

df.applymap(lambda x: 0 if x=='None' else 1) 
Out[33]:  
   col1  col2  col3  col4 
0     0     0     0     1 
1     1     0     0     0 
2     0     1     0     0