计算时间序列中两点之间的角度

时间:2018-10-04 00:52:16

标签: python pandas numpy

我有一个时间序列数据,我试图计算两点之间的角度(度)。这是我到目前为止所做的,但似乎未提供正确的解决方案:

bars = 2
df = pd.read_csv("EURUSD.csv")
df = df.reset_index()
df['A'] = np.rad2deg(np.arctan2(df['Low']-df['Low'].shift(pts), df['index']-df['index'].shift(pts)))
df.dropna(inplace=True)

但是,有时这给了我奇怪的输出,例如:

2693    3.141258
2702   -3.141383
2708   -3.141451
2719   -3.141033
2724   -3.140893
2734    3.141550

我还尝试了以下代码:

df['A'] = ((df['Low']-df['Low'].shift(pts))/(df['index']-df['index'].shift(pts)))

2693   -0.000334
2702    0.000210
2708    0.000142
2719    0.000560
2724    0.000700
2734   -0.000043

我在这里做什么错了?

编辑:

这是我要尝试的屏幕截图。我只是想在Python中找到-48度。我不是试图自动获得这些要点。我已经手动发现它们,只需要进行计算即可。

enter image description here

1 个答案:

答案 0 :(得分:0)

我想您的问题是如何计算两条线之间的角度?这些线分别由一个点和一个共同的原点定义。然后,您要对随时间记录的一系列x1,x2点执行此操作。

Here您可以找到算术和here示例。