【发布时间】:2022-04-12 21:43:02
【问题描述】:
我想知道是否有一种简单直接的方法可以从 DataFrame 对象计算ATR。我被困在 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() 不适合数据框对象。但如果它有效,这将是相当优雅和简单的。只是想知道数据框对象中是否有内置函数来实现这一点。
【问题讨论】:
-
在谷歌上的快速搜索给了我这个:learnpythonwithrune.org/…也许它会帮助你
-
谢谢。我实际上已经成功地计算了 ATR,但我更想寻找一种更优雅、更直接的方法来使用 DF 来计算。我的问题更像是是否有某种神奇的 max() 函数可以与 DF 一起使用并帮助在此过程中创建 df 列。
标签: pandas