如何在一个lambda中有条件地和两个输出?

2024-04-16 04:48:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想过滤变量低于两个标准偏差和以上的标准偏差。我知道我可以用def/return和apply语句来实现这一点,但是我想知道我是否可以用lambda在一行中实现这一点

我试过下面的代码(No-show中的数字都是int,是我计算中位数、上限和下限两个标准差的基础):

df2F['outlier_neighbourhood']=df2F['No-show'].apply(lambda x: 'Lower Outlier' if x <0.6091564238171008 elif 'Upper Outlier' else 'normal')

错误:

File "", line 2 df2F['outlier_neighbourhood']=df2F['No-show'].apply(lambda x: 'Lower Outlier' if x <0.6091564238171008 elif 'Upper Outlier' else 'normal') ^ SyntaxError: invalid syntax


Tags: lambdanoifshowupperlowerelseapply