Python 以规则间隔出现在条形图中的随机数据
我有一个数据集,其中包含与新冠病毒-19数据相关的信息,列为['total_cases','new_cases','date']。数据单调增加,至少在1月份新的_病例中没有突然出现峰值。数据集可以在这里找到:有很多列,其中我只使用了Python 以规则间隔出现在条形图中的随机数据,python,matplotlib,bar-chart,Python,Matplotlib,Bar Chart,我有一个数据集,其中包含与新冠病毒-19数据相关的信息,列为['total_cases','new_cases','date']。数据单调增加,至少在1月份新的_病例中没有突然出现峰值。数据集可以在这里找到:有很多列,其中我只使用了['total\u cases','new\u cases','date'] 如图所示,“新案例”的前10天数据为0: 我使用此代码为'date'与'new\u cases'绘制条形图: import pandas as pd import matplotlib.p
['total\u cases','new\u cases','date']
如图所示,“新案例”的前10天数据为0:
我使用此代码为'date'
与'new\u 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”)的一些峰值,在数据集中,新的_案例明显为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'])
谢谢戴维斯·赫林指出我的错误
如果有人面临类似的问题,解决方案是在日期不是标准格式时指定日期格式。
我所做的是:
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'])
看起来你已经交换了月份和日期。谢谢你指出!熊猫似乎使用了默认的数据格式来解析我的数据集中的前12个条目,然后它意识到实际的数据格式是什么。例如,在分析“01-01-2020”时,实际格式为“%d-%m-%Y”,但它使用“%m-%d-%Y”只是为了观察到第13个条目的数据格式不同。我在解析我的csv时指定了数据格式,它给了我正确的结果。看起来您交换了月份和日期。感谢您指出!熊猫似乎使用了默认的数据格式来解析我的数据集中的前12个条目,然后它意识到实际的数据格式是什么。例如,在分析“01-01-2020”时,实际格式为“%d-%m-%Y”,但它使用“%m-%d-%Y”只是为了观察到第13个条目的数据格式不同。我在解析csv时指定了数据格式,它给了我正确的结果。