我正在尝试绘制一个带有时间戳索引的pandas DataFrame,其中索引中存在时间间隔。使用pandas.plot()会导致在前一段的最后一个时间戳和下一段的第一个时间戳之间进行线性插值。我不想要线性插值,也不想在两个日期段之间留出空白。有没有办法做到这一点?
假设我们有一个带有时间戳索引的DataFrame:
生成的图形将时间戳之间的插值线连接起来,围绕着间隙。我无法弄清如何在这台机器上上传图片,但是这些来自Google Groups的图片展示了我的问题(interpolated.jpg、no-interpolation.jpg和no gaps.jpg)。我可以像上面显示的那样重新创建第一张图片。第二张图片可通过将所有间隙值替换为NaN(参见这个问题)实现。如何实现第三个版本,其中省略了时间间隔?
假设我们有一个带有时间戳索引的DataFrame:
>>> import numpy as np
>>> import pandas as pd
>>> import matplotlib.pyplot as plt
>>> df = pd.DataFrame(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
>>> df = df.cumsum()
现在让我们来取其中的两个时间片段并进行绘制:
>>> df = pd.concat([df['Jan 2000':'Aug 2000'], df['Jan 2001':'Aug 2001']])
>>> df.plot()
>>> plt.show()
生成的图形将时间戳之间的插值线连接起来,围绕着间隙。我无法弄清如何在这台机器上上传图片,但是这些来自Google Groups的图片展示了我的问题(interpolated.jpg、no-interpolation.jpg和no gaps.jpg)。我可以像上面显示的那样重新创建第一张图片。第二张图片可通过将所有间隙值替换为NaN(参见这个问题)实现。如何实现第三个版本,其中省略了时间间隔?