ike*_*kel 1 python lambda pandas
我正在尝试将lambda与if-else条件应用于pandas df 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)
Run Code Online (Sandbox Code Playgroud)
基本上,它应该用0替换'None'值,否则用1替换但是我一直得到这个错误
df_twitter_archive_master[['col1','col2','col3','col4']].apply(lambda x: x=0 if x=='None' else x=1)
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
^在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
Run Code Online (Sandbox Code Playgroud)
根据您的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
Run Code Online (Sandbox Code Playgroud)
我们试试吧:
(df != 'None').astype(int)
Run Code Online (Sandbox Code Playgroud)
输出:
col1 col2 col3 col4
0 0 0 0 1
1 1 0 0 0
2 0 1 0 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1517 次 |
| 最近记录: |