Le 16 janvier 2020, une nouvelle infection à coronavirus (nom de la maladie) causée par le SRAS-CoV-2 (nom du virus) a été confirmée pour la première fois au Japon. Malheureusement, la maladie a tué de nombreuses personnes, des gens ordinaires aux célébrités. Même maintenant, plus de six mois après cela, la mode ne s'est pas calmée et les masques sont une nécessité pour sortir. Dans cet article, nous avons brièvement analysé et résumé le virus corona au Japon. J'espérais que cette analyse me donnerait une certaine prise de conscience et améliorerait mes capacités d'analyse.
Pour analyser le virus corona cette fois, nous avons utilisé les données CSV publiées par Jag Japan Co., Ltd.. Merci beaucoup. Je publierai le lien ci-dessous.
À propos de "Carte du nombre de personnes infectées par le nouveau virus corona"
COVID-19.ipynb
import collections
import matplotlib.pyplot as plt
import pandas as pd
COVID-19.ipynb
pd.set_option('display.max_columns', None)
df = pd.read_csv('COVID-19.csv')
df
Dans JupyterLab, s'il y a beaucoup de colonnes, l'affichage sera omis, donc affichez tout dans la première ligne.
COVID-19.ipynb
age = df['Âge'].value_counts(ascending=True)
age
Résultat d'exécution
90 ou plus 1
Années 90 1
100 2
Années 80 7
Jeune 9
Années 70 10
60 ans 12
90 14
50 ans 25
30 ans 33
40 ans 33
80 44
20 ans 49
10 66
70 69
60 128
40 167
50 179
30 203
20 310
90 1040
Inconnu 1145
0-10 1335
80 2645
10 2952
70 3751
60 4531
50 7355
40 8315
30 10551
20 18009
Name:Âge, dtype: int64
Comme il n'y a pas de notation unique telle que 20 et 20, le nombre de résultats de sortie a augmenté. Je vais essayer d'unifier la notation en utilisant df.replace ().
COVID-19.ipynb
df = df.replace({'Âge':{'0-10':'under10','10 ans':'10','20 ans':'20', '30 s':'30', 'Quarante':'40', 'Années 50':'50', 'Années 60':'60', 'Années 70':'70', 'Années 80':'80', 'Années 90':'90' , 'inconnue':'unknown', '90 et plus':'90~'}})
age2 = df['Âge'].value_counts()
age2
Résultat de sortie
20 18009
30 10551
40 8315
50 7355
60 4531
70 3751
10 2952
80 2645
under10 1335
unknown 1145
90 1040
20 359
30 236
50 204
40 200
60 140
70 79
10 75
80 51
90 15
100 2
90~ 1
Name:Âge, dtype: int64
J'ai pu supprimer l'affichage de sortie plus qu'auparavant. (J'ai essayé diverses choses parce que je voulais obtenir le total avec les mêmes chiffres, mais cela n'a pas fonctionné, donc je vais laisser cela comme une tâche future.) C'est un peu difficile à voir, alors je vais le visualiser avec un graphique.
COVID-19.ipynb
plt.title('Age of infected person')
age2.plot.bar()
En faire un graphique facilite la compréhension visuelle. En regardant ce graphique, nous pouvons voir que les jeunes générations, comme celles dans la vingtaine, la trentaine, la quarantaine, etc., sont plus infectées. En particulier, le grand nombre de personnes infectées dans la vingtaine est évident.
COVID-19.ipynb
df = df.replace({'sexe':{'Masculin':'male', 'Femme':'female', 'inconnue':'unknown'}})
sex = df['sexe'].value_counts()
plt.xlabel('Sex')
plt.ylabel('Number of people')
plt.title('Infected_sex')
#print(sex) #Affichage lorsque vous souhaitez connaître le nombre détaillé de personnes infectées par sexe
sex.plot.bar()
Quand je l'ai vérifié dans un graphique, j'ai trouvé que le nombre de personnes infectées était plus élevé chez les hommes. Je pense que l'infection ne dépend pas du sexe des êtres humains, mais je pense que le but et le comportement lors des sorties sont différents, donc si je peux le savoir en détail, je m'attends à ce que la relation entre les sexes dans le nombre d'infections puisse être déterminée.
COVID-19.ipynb
fixed_date = df['Date fixe']
fixed_date = collections.Counter(fixed_date)
#fixed_date #Comme il y a beaucoup de sortie, le résultat de l'exécution est omis.
date = []
value = []
for get_date in fixed_date:
date.append(get_date)
for get_value in fixed_date.values():
value.append(get_value)
plt.plot(date, value)
plt.xticks( [0, 180, 70] )
plt.xticks(rotation=45)
plt.xlabel('date')
plt.ylabel('value')
plt.title('Changes in infected people')
plt.show()
Si vous consultez le graphique, vous pouvez voir que les patients positifs ont été confirmés à partir de janvier, et bien que le nombre ait fortement augmenté vers avril et temporairement guéri, il a de nouveau augmenté en juillet et a atteint un sommet vers août. En faisant un graphique, nous avons pu confirmer la deuxième vague du nouveau virus corona. Depuis la fin du graphique, le nombre de patients positifs confirmés a fortement diminué, donc j'ai hâte d'y être à l'avenir.
J'ai des données de coordonnées X et Y dans CSV, donc je vais les tracer. Cette fois, j'ai fait référence à cet article.
COVID-19.ipynb
#Installez-le car il est nécessaire pour utiliser les géopandas
pipenv install geopandas
pipenv install descartes
#Représentez les données cartographiques d'origine
map_1 = gpd.read_file('./land-master(qiita)/japan.geojson')
map_1.plot(figsize=(10,10), edgecolor='#444', facecolor='white', linewidth = 1);
COVID-19.ipynb
#Essayez d'entrer les coordonnées XY du CSV
map_1.plot(figsize=(10,10), edgecolor='#444', facecolor='white', linewidth = 1);
plt.scatter(df['X'],df['Y'])
plt.show()
Si vous regardez de près les points tracés, ils sont rassemblés de manière significative dans le coin supérieur droit ... alors développons-le.
COVID-19.ipynb
map_1.plot(figsize=(10,10), edgecolor='#444', facecolor='white', linewidth = 1);
plt.xlim([120,150]) #Définissez la plage que vous souhaitez étendre(Tout)
plt.ylim([30,46]) #Définissez la plage que vous souhaitez étendre(Tout)
plt.scatter(df['X'],df['Y'])
plt.show()
J'ai pu confirmer que j'étais capable de tracer fermement. Vous pouvez voir sur cette carte que le virus corona est répandu dans tout le pays. Il s'est avéré qu'il y avait beaucoup de personnes infectées dans la région de Kyushu dans son ensemble, sans parler de la région de Kanto. Il est très effrayant de penser qu'il peut y avoir un risque d'infection où que vous alliez.
Je pense qu'il y a certains points que je n'ai pas atteints puisque c'est mon premier article sur qiita, mais je suis très heureux d'avoir aimé analyser et créer des articles. C'est une analyse simple, mais je suis très content car j'ai pu essayer quelque chose de nouveau pour moi-même en traçant des coordonnées sur une carte. À l'avenir, j'aimerais relever le défi d'une analyse corona plus approfondie. C'est une période difficile avec le virus corona, mais s'il vous plaît, aimez-vous.
Recommended Posts