-2

为什么会出现以下结果SyntaxError

data['Direction'] = lambda x : 'up' if data['Rolling'].shift(1) < data['Rolling'] else ('down' if data['Rolling'].shift(1) > data['Rolling'])
4

1 回答 1

0

你得到了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'

或者,如果您还希望函数返回Nonewhen 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)
于 2021-10-05T16:33:59.067 回答