Python pandas,如何只绘制一个实际拥有数据点的DataFrame并消除差距

时间:2013-02-12 15:55:11

标签: python plot dataframe pandas

我有一个DataFrame,其中日内数据使用DatetimeIndex索引

df1 =pd.DataFrame(np.random.randn(6,4),index=pd.date_range('1/1/2000',periods=6, freq='1h'))
df2 =pd.DataFrame(np.random.randn(6,4),index=pd.date_range('1/2/2000',periods=6, freq='1h'))
df3 = df1.append(df2)

可以看出,df3

中的两天之间存在很大差距

df3.plot()

将从2000-01-01 00:00:002000-01-02 05:00:00绘制每一小时的时间,实际上从2000-01-01 06:00:002000-01-02 00:00:00实际上没有数据点。

如何将这些数据点留在图中,以便不会将2000-01-01 06:00:00设置为2000-01-02 00:00:00

2 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是在绘制之前resample(每小时):

df3.resample('H').plot()

注意:这可确保您在实际值之间具有未绘制(而非连接)的NaN值。 这意味着您在此处存储更多数据,这可能是一个问题。

答案 1 :(得分:2)

Google群组似乎已经讨论了一段时间。

Pandas Intraday Time Series plots