2024-04-20 06:55:09 发布
网友
我有一个数据框sp,其中有一个名为Status的列。Status列中的值为'Done'或{}。我需要使用lambda函数更改Status列的值,其中'Done'的状态更改为'A',状态{}更改为{}。我就是这样做的:
sp
Status
'Done'
'A'
sp['Status'] = sp['Status'].apply(lambda x: x='A' if x=='Done' else x='N')
然后收到以下错误消息:
我哪里做错了?在
您必须阅读lambda语法,就像前面有一个return。并且不能在lambda主体中指定:
return
sp['Status'] = sp['Status'].apply(lambda x: 'A' if x=='Done' else 'N')
不能在lambda(只接受表达式)内使用赋值(语句)。在
lambda应该只返回新值:
sp['Status'] = sp['Status'].apply(lambda x: 'A' if x == 'Alive' else 'N')
lambda中表达式的结果始终是返回值。在
lambda
请注意,您只需在此处使用^{}:
您必须阅读lambda语法,就像前面有一个
return
。并且不能在lambda主体中指定:sp['Status'] = sp['Status'].apply(lambda x: 'A' if x=='Done' else 'N')
不能在lambda(只接受表达式)内使用赋值(语句)。在
lambda应该只返回新值:
lambda
中表达式的结果始终是返回值。在请注意,您只需在此处使用^{} :
^{pr2}$相关问题 更多 >
编程相关推荐