[PYTHON] Changements du taux d'infection à coronavirus

en premier

Je ne suis pas un expert en maladies infectieuses, veuillez donc le lire après avoir compris.

Le nombre de personnes infectées par le virus corona augmente chaque jour. La page du ministère de la Santé, du Travail et du Bien-être ne contient pas de données ouvertes faciles à utiliser, mais certaines préfectures publient des données sur des sites de portail de données ouvertes. Puisque nous avons des données sur le nombre de tests PCR et le nombre de personnes infectées, nous avons examiné les changements dans le nombre de personnes infectées.

J'ai mis à jour le graphique avec les données une semaine plus tard, et on peut voir que le taux d'infection est inférieur à la semaine dernière.

Les données de la préfecture de Saitama étant faciles à utiliser, nous avons étudié la transition du taux d'infection entre le nombre de tests PCR et le nombre de personnes infectées dans la préfecture de Saitama. Cependant, comme les données de la préfecture de Saitama sont écrites comme le nombre d'inspections (nombre total de personnes), et non le nombre d'inspections, Taux d'infection = nombre de personnes infectées / nombre de tests (nombre total de personnes) Est en cours de calcul.

Si le format des données pour chaque préfecture était unifié, d'autres préfectures pourraient être recherchées immédiatement, mais malheureusement, il n'était pas unifié.

Changements du taux d'infection

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data/saitama_kensa_20200418.csv')
data.columns = ['day', 'PCR', 'Confirmed']
print(data.head())
print(data.tail())

Les données du nombre de tests PCR sont du 2020/1/31 au 2020/4/18.

         day  PCR  Confirmed
0  2020/1/31    1          0
1   2020/2/1    1          0
2   2020/2/2    0          0
3   2020/2/3    0          0
4   2020/2/4    1          0
          day  PCR  Confirmed
74  2020/4/14   37          7
75  2020/4/15  110         28
76  2020/4/16  147         21
77  2020/4/17   70          9
78  2020/4/18  100         21
plt.plot(data.loc[:,'PCR'])
plt.plot(data.loc[:,'Confirmed'])
plt.xlabel('day')
plt.ylabel('Number')
plt.legend()
plt.savefig('fig1.png')

Publié le 19 avril 2020 fig1.png Publié le 27 avril 2020 saitama_kensa_fig1_20200426.png

Comme le taux d'infection quotidien fluctue considérablement, nous affichons également la moyenne mobile sur 7 jours. La moyenne mobile était inférieure à 10% pendant les 50 premiers jours, mais a depuis augmenté à environ 20%.

rate = data.loc[:,'Confirmed']/data.loc[:,'PCR'].fillna(0.0)
rate_ma = rate.rolling(7).mean().fillna(0)
plt.plot(rate * 100, label='rate', linewidth=1)
plt.plot(rate_ma * 100, label='rate_ma', linewidth=3)
plt.ylim(0.0, 30.0)
plt.xlabel('day')
plt.ylabel('Rate(%)')
plt.legend()
plt.savefig('fig2.png')

Publié le 19 avril 2020 fig2.png Publié le 27 avril 2020 saitama_kensa_fig2_20200426.png Selon les données du 19 avril 2020, la moyenne mobile du taux d'infection était d'environ 20%. Cependant, selon les données du 26 avril 2020, il a diminué à environ 10%.

Nous espérons que s'abstenir de sortir réduira le nombre de personnes infectées.

Recommended Posts

Changements du taux d'infection à coronavirus
Affectations et modifications des objets Python
Dessiner un graphique du taux de rétention avec Matplotlib