我如何计算 pandas 中的平均真实范围

How can i calculate for Average true range in pandas

如何计算数据框中的平均真实范围

我已经尝试使用 np where() 但没有用

我有以下所有这些值

当前高 - 当前低

abs(当前高点 - 前收盘价)

abs(当前低点 - 前收盘价)

但我不知道如何将三个值之间的最高值设置为 pandas 数据框

看起来您可能正在尝试执行以下操作:

import pandas as pd
from numpy.random import rand

df =  pd.DataFrame(rand(10,5),columns={'High-Low','High-close','Low-close','A','B'})

cols = ['High-Low','High-close','Low-close']
df['true_range'] = df[cols].max(axis=1)
print(df)

输出看起来像

   High-Low  Low-close         B         A  High-close  true_range
0  0.916121   0.026572  0.082619  0.672000    0.605287    0.916121
1  0.622589   0.944646  0.638486  0.905139    0.262275    0.944646
2  0.611374   0.756191  0.829803  0.828205    0.614956    0.756191
3  0.810638   0.501693  0.504800  0.069532    0.283825    0.810638
4  0.984463   0.900823  0.434061  0.905273    0.518056    0.984463
5  0.377742   0.480266  0.018676  0.383831    0.819448    0.819448
6  0.473753   0.652077  0.730400  0.305507    0.396969    0.652077
7  0.427047   0.733135  0.526076  0.542852    0.719194    0.733135
8  0.911629   0.633997  0.101848  0.020811    0.327233    0.911629
9  0.244624   0.893365  0.278941  0.354696    0.678280    0.893365

如果这不是您想要的,提供一个小示例将有助于澄清您的问题,您可以在其中清楚地识别 DataFrame 中的列和索引以及“真实范围”的含义.