python - 定期出现在条形图中的随机数据
问题描述
我有一个数据集,其中包含与 COVID-19 数据相关的信息columns = ['total_cases', 'new_cases', 'date']
。数据单调增加,至少 1 月份的 new_cases 没有突然激增。数据集可以在这里找到:https ://fnvuusdqoptinxntjrmdi.coursera-apps.org/edit/CovidIndiaData.csv有很多我只使用的列 ['total_cases', 'new_cases', 'date']
。
'new_cases'
如下图所示,前 10 天的数据为 0 :
'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()
最终的情节如下所示:
该图显示了 1 月 7 日的一些峰值(图上的“01-07”),其中很明显在数据集中 new_cases 为 0。这大约在每一个月间隔后继续。
这些数据来自哪里?如何为这些数据绘制正确的图表?
解决方案
感谢 Davis Herring 指出我的错误。
如果有人遇到类似问题,解决方案是在您的日期不是标准化格式时指定日期格式。我所做的是:
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'])
推荐阅读
- mysql - MySQL 分区创建后是否需要特殊查询才能利用?
- flutter - 在未来的构建器中使用列表构建器时出现颤振播种错误
- javascript - 正确使用 click:outside 和 vuetify 对话框
- python - 如何在我的代码中添加冷却消息?
- c# - 如何通过具有不同设定值的索引获取枚举?
- android - 列表内的 EditText。EditText.TextChanged 在滚动时给出错误的值
- node.js - Passport-saml 元数据 xml 配置
- swift - 为什么 Swift 的类型检查系统允许返回类型的函数不返回任何内容?
- c# - 如何从另一个脚本访问脚本中的枚举?
- lua - 核心游戏脚本:视线