确定两个熊猫时间序列交叉的坐标,以及时间序列交叉的时间

时间:2015-11-14 09:55:21

标签: python pandas linegraph timeserieschart

如果我要描绘两个时间序列,让我们说他们都有从左到右的向上积极趋势,无论如何使用熊猫来找到两条线相交的位置以及频率是多少?

例如:

两个时间序列交叉的频率: 1

相交点的坐标是什么:近似x轴:1955 y轴:7

enter image description here

1 个答案:

答案 0 :(得分:5)

这是使用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

shift(1)将返回NaN

的第一行需要-1