我正在尝试将平均真实范围列添加到包含历史股票数据的数据框中。
到目前为止我使用的代码是:
def add_atr_to_dataframe (dataframe):
dataframe['ATR1'] = abs (dataframe['High'] - dataframe['Low'])
dataframe['ATR2'] = abs (dataframe['High'] - dataframe['Close'].shift())
dataframe['ATR3'] = abs (dataframe['Low'] - dataframe['Close'].shift())
dataframe['TrueRange'] = max (dataframe['ATR1'], dataframe['ATR2'], dataframe['ATR3'])
return dataframe
最后一行,包含 max 函数,给出了错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我已经用谷歌搜索了好几天,试图学习如何解决这个错误,或者以更好的方式编写代码等等,但没有发现任何可以帮助我的东西。
以下任何帮助将不胜感激:
如何解决错误
如何以更好的方式编写代码 - 我并不是说我必须以这种方式编写代码,并且可能有更好的方式来编写代码。
提前谢谢。