我有一個包含與 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'如下圖所示:我使用此代碼繪制'date'vs的條形圖'new_cases':import pandas as pdimport matplotlib.pyplot as pltimport numpy as npfrom matplotlib.dates import DateFormatterdf = 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。大約每隔一個月間隔一次。這些數據從何而來?如何為這些數據繪制正確的圖表?
1 回答

互換的青春
TA貢獻1797條經驗 獲得超6個贊
如果有人遇到類似問題,解決方案是在您的日期不是標準格式時指定日期格式。我所做的是:
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'])
添加回答
舉報
0/150
提交
取消