Python 数据帧索引dtype是dtype=';datetime64[ns],图中显示索引年为奇怪的年份#

Python 数据帧索引dtype是dtype=';datetime64[ns],图中显示索引年为奇怪的年份#,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个索引,它是YYYY/MM/DD,在导入数据帧后从m/d/yy转换而来。我无法在测线图中正确显示日期。我认为这是因为matplotlib不支持dtype='datetime64[ns] DF的前5行: Town Cases 2020-03-21 Red Bank 2 2020-03-22 Red Bank 2 2020-03-23 Red Bank 5 2020-03-24 Red Bank 20 2020-03-26 Red

我有一个索引,它是YYYY/MM/DD,在导入数据帧后从m/d/yy转换而来。我无法在测线图中正确显示日期。我认为这是因为matplotlib不支持dtype='datetime64[ns]

DF的前5行:

             Town   Cases
2020-03-21  Red Bank    2
2020-03-22  Red Bank    2
2020-03-23  Red Bank    5
2020-03-24  Red Bank    20
2020-03-26  Red Bank    20
图中显示的日期如下图所示。但是当我做一个

covid_cnt.index = pd.to_datetime(covid_cnt.index)
covid_cnt.sort_index(inplace = True)
索引正确地列为YYYY-MM-DD。不确定如何解决此问题

DatetimeIndex(['2020-03-21', '2020-03-22', '2020-03-23', '2020-03-24',
           '2020-03-26', '2020-03-27', '2020-03-30', '2020-03-31',
           '2020-04-01', '2020-04-02',
           ...
           '2020-07-13', '2020-07-14', '2020-07-15', '2020-07-16',
           '2020-07-17', '2020-07-21', '2020-07-22', '2020-07-23',
           '2020-07-24', '2020-07-25'],
          dtype='datetime64[ns]', length=116, freq=None)


感谢您的帮助

您使用了什么功能来绘制图表?我的地块(包含您的城镇和日期时间索引)创建了一个从2020-03-15到2020-07-15的地块

df = pd.DataFrame(data={'cases': [i for i in range(len(dates))],
                        'town': 'Red Bank'},
                 index=dates)
print(df.head())

            cases      town
2020-03-21      0  Red Bank
2020-03-22      1  Red Bank
2020-03-23      2  Red Bank
2020-03-24      3  Red Bank
2020-03-26      4  Red Bank
索引的前3个值和类型:

df.index[0:3]

DatetimeIndex(['2020-03-21', '2020-03-22', '2020-03-23'], dtype='datetime64[ns]', freq=None)
我用命令
df.plot()生成了一个绘图(在Jupyter笔记本中)


您是如何插入屏幕截图的?

您使用了什么功能来绘制图形?我的地块(包含您的城镇和日期时间索引)创建了一个从2020-03-15到2020-07-15的地块

df = pd.DataFrame(data={'cases': [i for i in range(len(dates))],
                        'town': 'Red Bank'},
                 index=dates)
print(df.head())

            cases      town
2020-03-21      0  Red Bank
2020-03-22      1  Red Bank
2020-03-23      2  Red Bank
2020-03-24      3  Red Bank
2020-03-26      4  Red Bank
索引的前3个值和类型:

df.index[0:3]

DatetimeIndex(['2020-03-21', '2020-03-22', '2020-03-23'], dtype='datetime64[ns]', freq=None)
我用命令
df.plot()生成了一个绘图(在Jupyter笔记本中)


您是如何插入屏幕截图的?

鉴于我对pandas非常陌生,matplotlib降级到3.2.2解决了这个问题。感谢大家的帮助

因为我对pandas和matplotlib非常陌生,所以将其降级到3.2.2解决了这个问题。谢谢大家的帮助

我使用了新冠病毒绘图(kind='line',y='Cases',marker=')。这条线显示得很好,只是没有日期。我可以使用注释UI上代码指示器旁边的pict按钮插入png文件。我使用了covid_cnt.plot(kind='line',y='Cases',marker=')。这条线显示得很好,只是没有日期。我可以使用注释界面上代码指示器旁边的pict按钮插入png文件。这是我在这里学习的内容的副本。。你能帮我找到一个好的网站来阅读如何使用它吗?你使用得很好-如链接所示,这是matplotlib/pandas中的一个bug,将被修复。你只需要链接中的变通方法。我不知道如何使用变通方法。今天是我第一次使用熊猫。谢谢你的耐心。plt.rcParams['date.epoch']='0000-12-31'我降级,问题解决。谢谢你的链接。和提示。这是一个副本,我在这里学习。。你能帮我找到一个好的网站来阅读如何使用它吗?你使用得很好-如链接所示,这是matplotlib/pandas中的一个bug,将被修复。你只需要链接中的变通方法。我不知道如何使用变通方法。今天是我第一次使用熊猫。谢谢你的耐心。plt.rcParams['date.epoch']='0000-12-31'我降级,问题解决。谢谢你的链接。还有小费。