Je suis un salarié vivant à Yokohama. Cela fait deux ans que j'ai commencé à faire du Python. J'ai réussi le test 2019 # 3 G et le premier test d'implémentation de l'IA, Il n'y a pas de "ce que vous pouvez faire". Quand je regarde des reportages télévisés sur COVID-19, j'ai très peur, mais parfois Est-ce que ça va? Je pensais, ou pour le dire simplement, cela me donnait l'impression de jouer à la télévision. Vous ne pouvez pas comprendre la situation vous-même? Je pensais que c'était le déclencheur.
J'ai réduit la portée
C'est la raison.
J'ai aussi vu le CORD-19 de kaggle, mais ... anglais ...
J'ai cherché sur Google [Tokyo Open Data Corona] et je l'ai trouvé.
À partir de là, reportez-vous aux données et essayez d'abord de créer un graphique.
elements | url |
---|---|
tokyo_consultation | https://stopcovid19.metro.tokyo.lg.jp/data/130001_tokyo_covid19_combined_telephone_advice_center.csv |
tokyo_call | https://stopcovid19.metro.tokyo.lg.jp/data/130001_tokyo_covid19_call_center.csv |
tokyo_confirm | https://stopcovid19.metro.tokyo.lg.jp/data/130001_tokyo_covid19_patients.csv |
kanagawa_confirm | http://www.pref.kanagawa.jp/osirase/1369/data/csv/patient.csv |
kanagawa_consultation | http://www.pref.kanagawa.jp/osirase/1369/data/csv/contacts.csv |
kanagawa_returnee | http://www.pref.kanagawa.jp/osirase/1369/data/csv/querent.csv |
osaka_confirm | http://www.pref.osaka.lg.jp/attach/23711/00346644/youseisyajyouhou.xlsx |
Importer la bibliothèque
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime as dt
#↓ je mets toujours
plt.close('all')
Dataframe et traitement des données
Le format étant différent dans chaque préfecture, chaque processus
'''
##########################################
0.Tokyo Metropolitan New Corona Consultation Service Nombre de consultations [nouveau]
1.Nombre de consultations au nouveau centre d'appels Corona à Tokyo [nouveau]
2.Tokyo_Détails de l'annonce d'un nouveau patient positif pour le coronavirus
3.Préfecture de Kanagawa_Nombre et attributs des patients positifs
4.Préfecture de Kanagawa_Nombre de consultations de numérotation dédiées
5.Préfecture de Kanagawa_Retourné / Contact Centre de conseil téléphonique Nombre de consultations
6.Préfecture d'Osaka_Statut d'occurrence positive du patient
##########################################
'''
#Lister les numéros à afficher dans cette liste
#Correspond au nombre de patients 2,3,Mettez 6 dans la liste
sel_list = [2, 3, 6]
for sel_num in sel_list:
#Charger le csv contenant chaque URL
url_df = pd.read_csv('opendata.csv')
if sel_num < 3: #Pour les données de Tokyo
df = pd.read_csv(url_df.loc[sel_num,'url'], encoding='utf-8')
elif sel_num == 6: #Pour les données d'Osaka
df = pd.read_excel(url_df.loc[sel_num,'url'], encoding='shift_jis',header=1)
else: #Pour les données Kanagawa
df = pd.read_csv(url_df.loc[sel_num, 'url'], encoding='shift-jis')
#Pour les données de Tokyo
if sel_num == 2:
fig1 = plt.figure()
ax1 = fig1.add_subplot()
#Puisqu'il ne peut pas être affiché en japonais, passez à la notation alphabétique
df = df.rename(columns={'Publié_Date': 'date', 'No':'Tokyo'})
df['date'] = pd.to_datetime(df['date'],format='%Y-%m-%d')
df = df.set_index('date')
df['Tokyo'].plot(ax=ax1, legend=True)
#Pour les données Kanagawa
elif sel_num == 3:
df = df.rename(columns={'Date de l'annonce': 'date'})
df['date'] = pd.to_datetime(df['date'],format='%Y-%m-%d')
df = df.set_index('date')
#Puisqu'il n'y a pas de numéro d'index, je vais le faire
serial_num = pd.RangeIndex(start=1, stop=len(df.index) + 1, step=1)
#Remplacez le nom de la colonne par Kanagawa pour le nom de la légende
df['Kanagawa'] = serial_num
df['Kanagawa'].plot(ax=ax1, legend=True)
#Pour les données d'Osaka
elif sel_num == 6:
df = df.rename(columns={'nombre':'num', 'Date de couverture': 'date'})
#Convertir les données de date Excel
excel_time = datetime.date(1899, 12, 30)
##Traitez chaque ligne avec itération
#Le remplacement de DataFrame crée une liste et écrase
new_date = []
for index, row in df.iterrows():
new_date.append(excel_time + datetime.timedelta(row['date']))
df['date'] = new_date
df['Osaka'] = df['num']
df = df.set_index('date')
df['Osaka'].plot(ax=ax1, legend=True)
Je me demandais s'il s'agissait d'une notation horaire UNIX, mais j'ai utilisé des numéros de date spécifiques à Excel. J'ai trouvé cette page que je lisais.
Convertir le "nombre" de la date Excel en date / heure python
Je ne pouvais pas m'en empêcher.
J'ai pu publier un graphique cumulatif. Le code n'est pas intelligent. Pour le moment, c'est tout pour aujourd'hui. Python a de nombreux sites qui vous disent exactement ce que vous voulez faire, donc Il y a un sentiment de sécurité que vous pourrez faire quelque chose lorsque vous avez des ennuis. Cependant, je ne connaissais pas la notation datetime dans Excel.
Recommended Posts