为什么会出现以下结果SyntaxError
?
data['Direction'] = lambda x : 'up' if data['Rolling'].shift(1) < data['Rolling'] else ('down' if data['Rolling'].shift(1) > data['Rolling'])
为什么会出现以下结果SyntaxError
?
data['Direction'] = lambda x : 'up' if data['Rolling'].shift(1) < data['Rolling'] else ('down' if data['Rolling'].shift(1) > data['Rolling'])
你得到了SyntaxError
应得的('down' if data['Rolling'].shift(1) > data['Rolling'])
。如果您希望函数返回'up'
ifdata['Rolling'].shift(1) < data['Rolling']
和'down
' else ( data['Rolling'].shift(1) >= data['Rolling']
),您可以执行以下操作:
lambda x : 'up' if data['Rolling'].shift(1) < data['Rolling'] else 'down'
或者,如果您还希望函数返回None
when data['Rolling'].shift(1) == data['Rolling']
,您可以执行以下操作:
lambda x : 'up' if data['Rolling'].shift(1) < data['Rolling'] else ('down' if data['Rolling'].shift(1) > data['Rolling'] else None)