首页 > 解决方案 > 熊猫图只有两个日期作为索引

问题描述

我有这个以日期为索引的简单熊猫数据框:

df=pd.DataFrame({'a':[20,30,12],'b':[15,18,18]},index=['2021-10-7','2021-10-8','2021-10-9']) df.index=pd.to_datetime(df.index) 当我尝试在 xaxis 中绘制一个只有两个日期的简单pandas.plot

df.iloc[-2:].plot()

它给了我下面的图,轴上有很多数字

仅绘制两个日期

如果我绘制整个数据库,绘图工作正常:db.plot()

谢谢你的支持

在此处输入图像描述

标签: pandasdatetimeplot

解决方案


您可以在设置索引后添加以下行以使其工作。

df.index.freq = 'D'

所以你的整个代码看起来像这样:

df=pd.DataFrame({'a':[20,30,12],'b':[15,18,18]},index=['2021-10-7','2021-10-8','2021-10-9']) 

df.index  = pd.to_datetime(df.index)

df.index.freq = 'D'

或者:

您还可以使用 date_range 如下所示:请注意,只有当您的数据类似于提供的具有每日频率的数据时,这才有效,您需要在频率不同的情况下进行调整。

df=pd.DataFrame({'a':[20,30,12],'b':[15,18,18]},index=['2021-10-7','2021-10-8','2021-10-9']) 

df.index=pd.date_range(start = '2021-10-07', end='2021-10-09')

这两种方法都会为您提供与问题中提到的相同的情节(类似于提供的问题中的底部一个)


推荐阅读