Python 绘制不同频率的序列

Python 绘制不同频率的序列,python,pandas,Python,Pandas,我有一些时间序列,我为它们创建了季度和年度总和。我想把这两个情节放在一起,但情节只显示了更频繁的一个merged.plot()给出: 下面是一些示例数据 >>> merged.head() shopping_weightedQ shopping_weightedA status emp unemp emp unemp

我有一些时间序列,我为它们创建了季度和年度总和。我想把这两个情节放在一起,但情节只显示了更频繁的一个
merged.plot()
给出:

下面是一些示例数据

>>> merged.head()
           shopping_weightedQ             shopping_weightedA            
status                    emp       unemp                emp       unemp
date                                                                    
2003-01-01         653.964346  696.178441         695.374248  755.180039
2003-04-01         702.233863  647.461856                NaN         NaN
2003-07-01         665.619252  774.226719                NaN         NaN
2003-10-01         757.189689  932.586052                NaN         NaN
2004-01-01         670.114570  751.718014         703.479640  839.858502

你的问题是南。熊猫将数据传递到matplotlib进行打印。当matplotlib看到一个NaN时,它会停止正在生成的线,直到看到另一个可绘制的值时才会重新开始。因为您正在绘制直线,所以无法看到年度数据的任何内容,因为从来没有两个值可以通过直线连接。例如,如果要使用点进行打印,使用
merged.plot(style='o')
,您将看到所有数据

但你可能会喜欢台词。我可以想出两种方法

第一个下拉到matplotlib中

import matplotlib.pylab as plt
plt.figure()
plt.plot( merged.shopping_weightedQ.index, merged.shopping_weightedQ )
plt.plot( merged.shopping_weightedA.dropna().index, merged.shopping_weightedA.dropna() )
第二个使用熊猫打印,具有共享的matplotlib轴:

import matplotlib.pylab as plt
plt.figure()
ax = plt.gca()
merged.shopping_weightedA.dropna().plot(ax=ax)
merged.shopping_weightedQ.plot(ax=ax)
请注意,由于我目前不完全理解的原因,可能与索引和x轴有关,如果两个plot命令颠倒,并且在Q之后绘制A,pandas方法不起作用,除非还将x_compat=True参数添加到每个plot命令


在每一种情况下,您可能都必须处理图例名称。

我想这是最好的条件,因为
pandas
并不真正支持它。我很惊讶他们没有,这似乎是时间序列绘图的标准要求。。。。