Ich bin ein Gehaltsempfänger, der in Yokohama lebt. Es ist zwei Jahre her, seit ich angefangen habe, Python zu machen. Ich habe den # 3 G-Test 2019 und den Test des ersten AI-Implementierers bestanden. Es gibt kein "was Sie tun können". Wenn ich Fernsehberichte über COVID-19 sehe, habe ich große Angst, aber manchmal Ist es in Ordnung? Ich dachte, oder um es einfach auszudrücken, ich fühlte mich wie im Fernsehen. Können Sie die Situation nicht selbst herausfinden? Ich dachte, das wäre der Auslöser.
Ich habe den Umfang eingegrenzt
Das ist der Grund.
Ich habe auch Kaggles CORD-19 gesehen, aber ... Englisch ...
Ich habe Google nach [Tokyo Open Data Corona] durchsucht und gefunden.
Beziehen Sie sich von hier aus auf die Daten und versuchen Sie zuerst die grafische Darstellung.
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 |
Bibliothek importieren
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime as dt
#↓ Ich habe immer gesagt
plt.close('all')
Datenrahmen und Verarbeitung von Daten
Da das Format in jeder Präfektur unterschiedlich ist, ist jeder Prozess
'''
##########################################
0.Tokyo Metropolitan New Corona Beratungsservice Anzahl der Konsultationen [neu]
1.Anzahl der Konsultationen im neuen Corona Call Center in Tokio [neu]
2.Tokio_Details zur Ankündigung eines neuen Coronavirus-positiven Patienten
3.Präfektur Kanagawa_Anzahl und Eigenschaften positiver Patienten
4.Präfektur Kanagawa_Anzahl der dedizierten Wählkonsultationen
5.Präfektur Kanagawa_Telefonische Beratungsstelle für Rückkehrer / Kontaktpersonen Anzahl der Konsultationen
6.Präfektur Osaka_Status des positiven Auftretens des Patienten
##########################################
'''
#Listen Sie die Nummern auf, die in dieser Liste angezeigt werden sollen
#Entspricht der Anzahl der Patienten 2,3,Setze 6 in die Liste ein
sel_list = [2, 3, 6]
for sel_num in sel_list:
#Laden Sie csv mit jeder URL
url_df = pd.read_csv('opendata.csv')
if sel_num < 3: #Für Tokio-Daten
df = pd.read_csv(url_df.loc[sel_num,'url'], encoding='utf-8')
elif sel_num == 6: #Für Osaka-Daten
df = pd.read_excel(url_df.loc[sel_num,'url'], encoding='shift_jis',header=1)
else: #Für Kanagawa-Daten
df = pd.read_csv(url_df.loc[sel_num, 'url'], encoding='shift-jis')
#Für Tokio-Daten
if sel_num == 2:
fig1 = plt.figure()
ax1 = fig1.add_subplot()
#Da es nicht auf Japanisch angezeigt werden kann, wechseln Sie zur alphabetischen Notation
df = df.rename(columns={'Veröffentlicht_Datum': '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)
#Für Kanagawa-Daten
elif sel_num == 3:
df = df.rename(columns={'Ankündigungsdatum': 'date'})
df['date'] = pd.to_datetime(df['date'],format='%Y-%m-%d')
df = df.set_index('date')
#Da es keine Indexnummer gibt, werde ich es schaffen
serial_num = pd.RangeIndex(start=1, stop=len(df.index) + 1, step=1)
#Ändern Sie den Spaltennamen für den Legendennamen in Kanagawa
df['Kanagawa'] = serial_num
df['Kanagawa'].plot(ax=ax1, legend=True)
#Für Osaka-Daten
elif sel_num == 6:
df = df.rename(columns={'Nummer':'num', 'Datum der Berichterstattung': 'date'})
#Konvertieren Sie Excel-Datumsdaten
excel_time = datetime.date(1899, 12, 30)
##Verarbeiten Sie jede Zeile mit Iteration
#Durch das Ersetzen von DataFrame wird eine Liste erstellt und überschrieben
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)
Ich habe mich gefragt, ob es sich um eine UNIX-Zeitnotation handelt, aber ich habe Excel-spezifische Datumsnummern verwendet. Ich habe diese Seite gefunden, auf der ich sie gelesen habe.
Konvertieren Sie die "Anzahl" des Excel-Datums in die Python-Datumszeit
Ich konnte mir nicht helfen.
Ich konnte eine kumulative Grafik erstellen. Der Code ist nicht klug. Das ist vorerst alles für heute. Python hat viele Websites, die Ihnen genau sagen, was Sie tun möchten Es besteht ein Gefühl der Sicherheit, dass Sie in Schwierigkeiten etwas tun können. Die Datums- / Uhrzeitnotation in Excel kannte ich jedoch nicht.
Recommended Posts