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
并不真正支持它。我很惊讶他们没有,这似乎是时间序列绘图的标准要求。。。。