绘制具有不同频率的数据叠加

时间:2019-03-17 11:06:41

标签: python pandas matplotlib seaborn

我有一个像这样的数据框A:

Date        index
Jan-2000    1.11
Feb-2000.   1.22
Mar-2000.   1.33
..............
Jan-2019.   1.13

此外,数据框B如:

Date.          index
01-01-2000.    1.01
02-01-2000.    1.00
.........
01-02-2000.    1.21
.......
31-01-2010.    1.11

数据帧A是我从互联网上获得的数据,而数据帧b是我的预测,您可以看到A和B的频率不同。

我分别绘制了它们的图,发现它们的形状几乎相同。我想要做的是将它们绘制在同一张图片中以比较我的预测,但频率不一样。有什么方法可以实现我的目标?

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,只需使用x轴上的日期在同一图中绘制两个框架即可。 matplotlib找出正确的间距。

import pandas as pd
import numpy as np
from datetime import date
from matplotlib import pyplot as plt
df_a = pd.DataFrame(data=np.random.random(3), columns=['a'],  
                    index=pd.date_range(date(2000, 1, 1), periods=3, freq='Y'))
df_b = pd.DataFrame(data=np.random.random(24),  columns=['b'],  
                    index=pd.date_range(date(2000, 6, 1), periods=24, freq='M'))

plt.plot(df_a.index, df_a['a'])
plt.plot(df_b.index, df_b['b'])

enter image description here