我得到了filename='AS-1704-CT-Data-(Jan4---Jan-7)_1.csv';
T=readtable(filename, 'Delimiter', ',', 'Range', 'C:C')
:
SyntaxError
当我添加housing['Lot Area'].apply(lambda x: x + 50000 if x > 20000)
时,代码运行良好:
else
housing['Lot Area'].apply(lambda x: x + 50000 if x > 20000 else x)
是否仅与if
结合使用?我希望仅在else
时使用50000增加x
- 否则我希望x > 20000
保持不变。我发现x
部分在这里有点多余。除了之前的第一个问题,有没有办法在没有else
部分的情况下编写此代码?
答案 0 :(得分:4)
根据您的说明,这里不需要apply
housing.loc[housing['Lot Area']>20000,'Lot Area']+=50000
Alex的评论:
如果if语句解析为值为False,则apply()不会返回,只是让系列中的值为
答案 1 :(得分:1)
您正在获得SyntaxError
,因为您输入的语法无效。必须使用三元运算符,如
expression if bool else other_expression