Pandas 直接使用Dataframe计算平均真实范围

Pandas 直接使用Dataframe计算平均真实范围,pandas,Pandas,我想知道是否有一种简单而直接的方法可以从DataFrame对象进行计算。我被困在max()部分。这就是我想做的: df['atr']=max( (df['High']-df['Low']), (df['High']-df['Close'].shift()).abs(), (df['Low']-df['close'].shift()).abs() ) 上述代码给出了此错误: ValueError: The truth value of a Series is ambiguous. Use a.e

我想知道是否有一种简单而直接的方法可以从DataFrame对象进行计算。我被困在max()部分。这就是我想做的:

df['atr']=max( (df['High']-df['Low']), (df['High']-df['Close'].shift()).abs(), (df['Low']-df['close'].shift()).abs() )
上述代码给出了此错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

我理解在此上下文中使用max()不适合dataframe对象。但如果它能起作用,这将是相当优雅和简单的。只是想知道dataframe对象中是否有内置函数来实现这一点。

在google上快速搜索后,我发现了这样一个问题:也许它会帮助你,或者这个问题?谢谢事实上,我已经成功地计算了ATR,但我更希望用DF寻找一种更优雅、更直接的方法。我的问题更像是,是否有某种神奇的max()函数可以与DF一起工作,并在这个过程中帮助创建DF列。