随机数据定期出现在条形图中

我有一个包含与 COVID-19 数据相关信息的数据集columns = ['total_cases', 'new_cases', 'date']。数据单调增加,至少 new_cases 在 1 月份没有突然飙升。数据集可以在这里找到:https://fnvuusdqoptinxntjrmodi.coursera-apps.org/edit/CovidIndiaData.csv,其中有很多列我只使用 ['total_cases', 'new_cases', 'date']

前 10 天的数据为 0,'new_cases'如下图所示:

http://img3.mukewang.com/641272560001545102630390.jpg

我使用此代码绘制'date'vs的条形图'new_cases':


import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

from matplotlib.dates import DateFormatter

df = pd.read_csv("CovidIndiaData.csv", parse_dates=['date'], index_col=['date'])

df = df[['new_cases', 'total_cases']]

df.fillna(0)


fig = plt.figure()

ax = plt.gca()


ax.bar(df.index.values,

   df['new_cases'],

   color='purple')


ax.set(xlabel="Date",

   ylabel="New Cases",

   title="New Cases per day",

   xlim=["2020-01-01", "2020-07-18"])


date_form = DateFormatter("%m-%d")

ax.xaxis.set_major_formatter(date_form)


ax.xaxis.set_major_locator(mdates.WeekdayLocator(interval=1))

plt.setp(ax.get_xticklabels(), rotation=45)


plt.show()

最终情节如下所示:

http://img1.mukewang.com/64127263000190a706580411.jpg

该图显示了 1 月 7 日(图中的“01-07”)的一些尖峰,其中在数据集中显然 new_cases 为 0。大约每隔一个月间隔一次。

这些数据从何而来?如何为这些数据绘制正确的图表?


一只萌萌小番薯
浏览 89回答 1
1回答

互换的青春

如果有人遇到类似问题,解决方案是在您的日期不是标准格式时指定日期格式。我所做的是:mydateparser = lambda x: pd.datetime.strptime(x, "%d-%m-%Y")df = pd.read_csv("CovidIndiaData.csv", parse_dates=['date'], date_parser=mydateparser, index_col=['date'])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python