時系列データを日付順に並べたいです。
使用したいデータは三都市のCOVID19感染者数、日付、三都市です。
イメージとしては赤青みどりの三色の折れ線グラフを用いて、感染者数の推移を把握したいです。
データは以下のものを使用しています。
,No,published date,address,age,sex,symptoms 0,1,2020-01-24,湖北省武漢市,40代,男性, 1,2,2020-01-25,湖北省武漢市,30代,女性, 2,3,2020-01-30,湖南省長沙市,30代,女性, 3,4,2020-02-13,都内,70代,男性, 4,5,2020-02-14,都内,50代,女性, 5,6,2020-02-14,都内,70代,男性, 6,7,2020-02-15,都内,80代,男性, 7,8,2020-02-15,都内,50代,女性,
コーディングは以下の感じです。
Python
1import pandas as pd 2import matplotlib as plot 3import matplotlib.pyplot as plt 4import numpy as np 5import matplotlib.font_manager as fm 6from scipy import stats 7import seaborn as sns 8%matplotlib inline 9sns.set() 10 11from matplotlib.pylab import rcParams 12rcParams['figure.figsize'] = 15, 6 13 14Tokyo=pd.read_csv("C:/Users/detec/desktop/Datascience/Info_corona/coronaTokyo.csv") 15Osaka=pd.read_csv("C:/Users/detec/desktop/Datascience/Info_corona/coronaOsaka.csv") 16Hyogo=pd.read_csv("C:/Users/detec/desktop/Datascience/Info_corona/coronaHyogo.csv") 17%matplotlib inline 18import matplotlib.pyplot as plt 19import pandas as pd 20import matplotlib.dates as mdates 21 22fig = plt.figure() 23ax = fig.add_subplot(1,1,1) 24 25# 横軸:日付 periods分の日付を用意します。 26x = pd.date_range('2020-01-24', periods=len(Tokyo), freq='d') 27 28# 縦軸:数値 29y = Tokyo["published date"] 30 31ax.plot(x,y) 32 33# 日付ラベルフォーマットを修正 34days= mdates.DayLocator() 35daysFmt = mdates.DateFormatter('%m-%d') 36ax.xaxis.set_major_locator(days) 37ax.xaxis.set_major_formatter(daysFmt) 38 39# グラフの表示 40plt.show()
まだ色分けグラフには至っていません。そもそもデータの取り込みに失敗しています。
日付をfloatデータとして読み込もうと
Python
1dateparse=lambda dates: pd.datetime.strptime(dates,'%Y-%M-%D') 2Tokyo=pd.read_csv('C:/Users/detec/desktop/Datascience/Info_corona/coronaTokyo.csv', index_col='published date', date_parser=dateparse) 3Tokyo.head()
をしてみましたが、データのaddressが対応できませんでした。
さらに%Y-%M-%Dも間違っているみたいで跳ね返されました。
データの取り込みはそのままpd.read_csvで読み込み、日付データをintやfloatに変換したほうがいいですか?