确定两个熊猫时间序列相交的坐标及相交次数

5
如果我要绘制两个时间序列的图表,假设它们都从左到右具有上升趋势,是否有任何方法使用pandas找到两条线相交的位置以及相交频率?
例如:
两个时间序列相交的频率是多少:1
相交点的坐标是什么:大约x轴1955,y轴7

enter image description here


你找到解决方案了吗? - Mihkel L.
1个回答

7

这里是使用pandas的快速尝试。

import pandas as pd
import numpy as np

df = pd.DataFrame({"A":[1,2,3,4,5], "B":[0.5,3,1,1,6]})
print df

这提供了

   A    B
0  1  0.5
1  2  3.0
2  3  1.0
3  4  1.0
4  5  6.0

然后使用差异。
df['difference'] = df.A - df.B

df['cross'] = np.sign(df.difference.shift(1))!=np.sign(df.difference)
np.sum(df.cross)-1

你需要使用 -1 来表示第一行,因为在执行 shift(1) 操作时会返回 NaN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接