Wenn die Anzahl der infizierten Personen auf ein nachvollziehbares Maß reduziert werden kann, indem Sie aufgefordert werden, nicht auszugehen, dann verfolgen Sie infizierte Personen und enge Kontakte "mit dem neuen Koronavirus (mit COVID-19)", bis der Impfstoff entwickelt ist. Zu dieser Zeit hatte ich gehofft, nach und nach zum Namen "Alltag" zurückzukehren, aber als ich mich gestern mit einer taiwanesischen Person traf, sagte er, dass er in den Alltag zurückkehren würde. Als Erfolgsgeschichte wird viel gelernt.
Cai Englisch Tsai Ing-wen @iingwen
1️⃣: Donating 10 million face masks to countries in need. 2️⃣: Increasing production of quinine. 3️⃣: Sharing our use of technology to trace & investigate outbreaks.
Die Situation in den Vereinigten Staaten ist so.
Es scheint, dass der Höchststand überschritten wurde, aber der Übergang neu infizierter Menschen ist eine "allmähliche Abnahme", und es scheint, dass es eine Weile dauern wird.
Der Code Github wurde aktualisiert, da sich der Name der Datendatei geändert hat.
Infektionssituation in Japan
Das neue Koronavirus COVID-19 hat sich auf der ganzen Welt verbreitet. Das Wunder wird täglich und stündlich in den Nachrichten angekündigt. Die meisten Berichte konzentrieren sich jedoch auf die Infektionssituation in Japan, und wenn es um die Infektionssituation in der Welt geht, habe ich das Gefühl, dass nur in einigen Ländern die Zahl der Infizierten erheblich zunimmt. Angesichts der schlimmen Situation in einer solchen Welt scheint Japan jedoch immer noch erleichtert zu sein und die Infektion stagniert oder ist konvergiert. Ich habe jedoch versucht, anhand der öffentlich verfügbaren Informationen herauszufinden, wie die tatsächliche Situation in jedem Land, einschließlich Japan, ist. Der von mir erstellte Code befindet sich auf Github. Laden Sie ihn daher bitte herunter, wenn Sie möchten.
Es war die New York Times [Welches Land hat die Kurve für das Coronavirus abgeflacht? (Bericht vom 19. März 2020), die diese Überlegung auslöste. 03/19 / world / coronavirus-flach-die-kurve-länder.html? Algo = top_conversion & fellback = false & imp_id = 269168688 & imp_id = 822987366 & action = click & module = Most% 20Popular & pgtype = Homepage). Einige werden hier vorgestellt.
Trends bei Neuinfektionen in China und Südkorea (© The New York Times)
Betrachtet man den Trend des 7-Tage-Mobilfunkdurchschnitts der Anzahl neu infizierter Personen in China und Südkorea, so haben die Maßnahmen jedes Landes wie die Bewegungseinschränkung gute Ergebnisse erzielt, und die Anzahl neu infizierter Personen ist in beiden Ländern erheblich zurückgegangen. .. Auf der anderen Seite zeigten Singapur, Hongkong und Taiwan im selben Asien aufgrund der Reaktion Mitte Februar einen rückläufigen Trend, der jedoch ab Mitte März allmählich zunahm.
Trends bei Neuinfektionen in Singapur, Hongkong und Taiwan (© The New York Times)
In Italien, wo schwerwiegende Schäden gemeldet wurden, hat die Zahl der Infizierten erheblich zugenommen.
Trends bei der Zahl der Neuinfektionen in Italien (© The New York Times)
Hier wird es mit Daten erstellt, die von der Johns Hopkins University veröffentlicht wurden. Dies ist ein Artikel vom 19. März. Wie hat sich die aktuelle Situation aufgrund der von jedem Land ergriffenen Maßnahmen verändert, verbessert sie sich oder verschlechtert sie sich? Wir werden nach ähnlichen Ergebnissen suchen, um die aktuelle Situation anhand der täglich veröffentlichten Daten richtig zu erfassen und zu erkennen.
Die tägliche Anzahl neu infizierter Personen in jedem Land, die "time_series_covid19_confirmed_global.csv" verwendet und täglich von Data, veröffentlicht von der Johns Hopkins University, als Eingabedaten aktualisiert wird. Und sein 7-Tage-Trend im gleitenden Durchschnitt. Hier wird die Anzahl der neu infizierten Personen anstelle der kumulierten Anzahl der infizierten Personen verwendet. Durch Visualisierung der täglichen Veränderungen, wie sich die Situation aufgrund der von jedem Land ergriffenen Maßnahmen ändert und wie die Trends der einzelnen Länder der Welt sind. Ich denke, es ist sinnvoll, es auf einen Blick zu sehen.
Google Colaboratory wird als Codeausführungsumgebung verwendet. Wenn Sie ein Google-Konto haben, laden Sie die Datei auf das Laufwerk hoch und führen Sie sie selbst aus. Der Grad des Interesses wird für jede Person stark zunehmen.
Hier werden typische Codes und ihre Ausgaben vorgestellt. Bitte überprüfen Sie den gesamten Code unter Github.
Führen Sie zunächst den folgenden Code aus, um die Daten herunterzuladen. Die Daten werden täglich aktualisiert und um 9:00 Uhr japanischer Zeit (Mitternacht UT-Zeit) aktualisiert. Die Datenquelle finden Sie unter Johns Hopkins University @ github. Wenn beispielsweise in Japan ein Fehler in den gemeldeten Daten vorliegt, wird eine Rückmeldung gegeben, z. B. ein Vorschlag mit einer Pull-Anforderung.
#CODIV mit Git-Klon-Laden Sie 19 Daten zur Verwendung herunter.
!git clone https://github.com/CSSEGISandData/COVID-19.git
Überprüfen Sie danach die Daten, indem Sie Folgendes ausführen.
path = '/content/COVID-19/csse_covid_19_data/csse_covid_19_time_series/'
df = pd.read_csv(path + 'time_series_covid19_confirmed_global.csv')
Überprüfen Sie nun die registrierten Informationen zu Land / Region.
country = df['Country/Region'].unique()
print(country)
print('Number of country/region: ' + str(len(country)))
Das Ausführungsergebnis ist wie folgt. Insgesamt gibt es Informationen zu 170 Ländern / Regionen.
['Afghanistan' 'Albania' 'Algeria' 'Andorra' 'Angola'
'Antigua and Barbuda' 'Argentina' 'Armenia' 'Australia' 'Austria'
'Azerbaijan' 'Bahamas' 'Bahrain' 'Bangladesh' 'Barbados' 'Belarus'
'Belgium' 'Benin' 'Bhutan' 'Bolivia' 'Bosnia and Herzegovina' 'Brazil'
'Brunei' 'Bulgaria' 'Burkina Faso' 'Cabo Verde' 'Cambodia' 'Cameroon'
'Canada' 'Central African Republic' 'Chad' 'Chile' 'China' 'Colombia'
'Congo (Brazzaville)' 'Congo (Kinshasa)' 'Costa Rica' "Cote d'Ivoire"
'Croatia' 'Cruise Ship' 'Cuba' 'Cyprus' 'Czechia' 'Denmark' 'Djibouti'
'Dominican Republic' 'Ecuador' 'Egypt' 'El Salvador' 'Equatorial Guinea'
'Eritrea' 'Estonia' 'Eswatini' 'Ethiopia' 'Fiji' 'Finland' 'France'
'Gabon' 'Gambia' 'Georgia' 'Germany' 'Ghana' 'Greece' 'Guatemala'
'Guinea' 'Guyana' 'Haiti' 'Holy See' 'Honduras' 'Hungary' 'Iceland'
'India' 'Indonesia' 'Iran' 'Iraq' 'Ireland' 'Israel' 'Italy' 'Jamaica'
'Japan' 'Jordan' 'Kazakhstan' 'Kenya' 'Korea, South' 'Kuwait'
'Kyrgyzstan' 'Latvia' 'Lebanon' 'Liberia' 'Liechtenstein' 'Lithuania'
'Luxembourg' 'Madagascar' 'Malaysia' 'Maldives' 'Malta' 'Mauritania'
'Mauritius' 'Mexico' 'Moldova' 'Monaco' 'Mongolia' 'Montenegro' 'Morocco'
'Namibia' 'Nepal' 'Netherlands' 'New Zealand' 'Nicaragua' 'Niger'
'Nigeria' 'North Macedonia' 'Norway' 'Oman' 'Pakistan' 'Panama'
'Papua New Guinea' 'Paraguay' 'Peru' 'Philippines' 'Poland' 'Portugal'
'Qatar' 'Romania' 'Russia' 'Rwanda' 'Saint Lucia'
'Saint Vincent and the Grenadines' 'San Marino' 'Saudi Arabia' 'Senegal'
'Serbia' 'Seychelles' 'Singapore' 'Slovakia' 'Slovenia' 'Somalia'
'South Africa' 'Spain' 'Sri Lanka' 'Sudan' 'Suriname' 'Sweden'
'Switzerland' 'Taiwan*' 'Tanzania' 'Thailand' 'Togo'
'Trinidad and Tobago' 'Tunisia' 'Turkey' 'Uganda' 'Ukraine'
'United Arab Emirates' 'United Kingdom' 'Uruguay' 'US' 'Uzbekistan'
'Venezuela' 'Vietnam' 'Zambia' 'Zimbabwe' 'Dominica' 'Grenada'
'Mozambique' 'Syria' 'Timor-Leste' 'Belize' 'Laos' 'Libya']
Number of country/region: 170
Einige von China und den Vereinigten Staaten sind auf Bundesstaatsebene klassifiziert, aber der folgende Code wird ausgeführt, um sie in Daten auf Länderebene umzuwandeln. Da hier keine Längen- / Breitengradinformationen erforderlich sind, werden diese gelöscht.
df1 = df.groupby('Country/Region', as_index=False).sum()
Und da die Spalten der aktuellen Daten Datumsangaben sind, werden die Zeilen und Spalten konvertiert und grafisch dargestellt. Das Trenddiagramm des Ziellandes wird durch Ausführen der folgenden Schritte erhalten.
df1 = df.groupby('Country/Region', as_index=False).sum()
Da es sich bei den heruntergeladenen Daten um die Gesamtzahl der infizierten Personen handelt, werden sie in die Anzahl der neu infizierten Personen konvertiert, indem die Differenz für jeden Tag berechnet wird.
df2 = df1.diff(1)
Führen Sie dann die folgenden Schritte aus, um den gleitenden Durchschnitt für 7 Tage zu erhalten.
#Berechnen Sie den Durchschnittswert der letzten sieben Tage.
for i in range(len(df2.columns)):
df2[df2.columns[i]+'_7-dayAverage'] =df2[df2.columns[i]].rolling(7).mean().round(1)
Nehmen wir nun Japan als Beispiel, um den Trend der Anzahl neu infizierter Menschen zu ermitteln.
#Visualisieren Sie die Infektionstendenz in Japan.
import matplotlib.ticker as ticker
#Spaltennummer abrufen
id_japan = df2.columns.get_loc('Japan') #Wenn Sie zum Zielland wechseln, können Sie den Trend jedes Landes ermitteln.
#Grafik
fig, ax = plt.subplots(figsize=(5, 5))
ax.bar(x = df2.index, height = df2[str(df2.columns[id_japan])], color = 'mistyrose', label = "New cases")
ax.plot(df2.index, df2[str(df2.columns[id_japan + len(country)])], color = 'red',label = "7-day average")
ax.set_xlabel("Date")
ax.set_ylabel("Confirmed cases")
plt.rcParams["font.size"] = 10
ax.xaxis.set_major_locator(ticker.MultipleLocator(30.00))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%b'))
plt.title(str(df2.columns[id_japan]),fontweight="bold")
plt.legend(bbox_to_anchor=(0, 1), loc='upper left', borderaxespad=1, fontsize=10)
plt.show()
Wie Sie sehen können, war im Februar ein zunehmender Trend zu verzeichnen, aber es ist ersichtlich, dass die Steigerungsrate im März zunimmt. Laut Bericht des Ministeriums für Gesundheit, Arbeit und Soziales beträgt die Latenzzeit des neuen Coronavirus 1-12,5 Tage (meistens 5 bis 12 Tage) Da es am 6. Februar sein soll, laut der Regierungsankündigung am 27. Februar "Here 1, 2 Es wurden Maßnahmen ergriffen, um die Bewegung einzuschränken, wie beispielsweise vorübergehende Schulschließungen, da "Wochen äußerst wichtig sind", aber es gibt immer noch einen Anstieg. Schauen wir uns als nächstes die Situation in Korea an.
Im Februar gab es viele Berichte über infizierte Menschen in der Region Daegu in Nordkorea, aber es ist ersichtlich, dass die Zahl der neu infizierten Menschen aufgrund von Maßnahmen wie Bewegungseinschränkungen danach erheblich zurückgegangen ist. .. Ich denke, dass Koreas Maßnahmen und ihre Ergebnisse sehr hilfreich sein werden. Einzelheiten zu Maßnahmen in Südkorea finden Sie in diesem Artikel. Ich werde.
Schauen wir uns als nächstes Italien an, wo jeden Tag über die Ausbreitung des neuen Koronavirus berichtet wird.
Im ganzen Land wurden erhebliche Bewegungseinschränkungen vorgenommen Seit dem 10. März sind ungefähr zwei Wochen vergangen, jedoch unter Berücksichtigung der Latenzzeit des neuen Koronavirus. Leider ist es immer noch auf dem Vormarsch. Ich würde jedoch gerne erwarten, dass die Steigerungsrate etwas abnimmt.
Bisher haben wir uns die Trends neu infizierter Menschen in einigen typischen Ländern angesehen, aber schließlich werden wir die Trends in jedem Land der Welt grafisch darstellen.
#Darstellung von Infektionstrends auf der ganzen Welt
fig, ax = plt.subplots(dpi=100, figsize=(60, 120))
plt.subplots_adjust(wspace=0.4, hspace=0.6)
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['left'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.tick_params(labelbottom=False)
plt.tick_params(bottom=False)
for i in range(len(country)):
ax = fig.add_subplot(20, 10, i+1)
ax.bar(x = df2.index, height = df2[str(df2.columns[i])], color = 'mistyrose', label = "New cases")
ax.plot(df2.index, df2[str(df2.columns[i + len(country)])], color = 'red',label = "7-day average")
ax.set_xlabel("Date")
ax.set_ylabel("Confirmed cases")
plt.rcParams["font.size"] = 10
ax.xaxis.set_major_locator(ticker.MultipleLocator(30.00))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%b'))
plt.title(str(df2.columns[i]),fontweight="bold")
plt.legend(bbox_to_anchor=(0, 1), loc='upper left', borderaxespad=1, fontsize = 7)
# general title
plt.suptitle("Where Countries Are on the Curve", fontsize=13, fontweight=0, color='black', style='italic', y=1.02)
dt_today = datetime.date.today()
plt.savefig(str(dt_today) + "_COVID-19_timeseries.png ") #Wenn es nur angezeigt wird, deaktivieren oder löschen Sie es.
plt.savefig(str(dt_today) + "_COVID-19_timeseries.jpg ") #Wenn es nur angezeigt wird, deaktivieren oder löschen Sie es.
Das resultierende Bild ist etwas groß, aber es passiert unten (Stand 25. März 2020).
Wenn Sie den Code ausführen, können Sie alle Informationen der einzelnen Länder anzeigen. Probieren Sie es also selbst aus. Von hier aus habe ich das Gefühl, dass die Zahl der neuen Coronavirus-Infektionen weltweit zunimmt und wir in eine neue Phase eintreten.
Der Code und die Ergebnisse sind unter github verfügbar. Laden Sie ihn daher herunter und verwenden Sie ihn, wenn Sie möchten.
Beeindruckt von dem Artikel der New York Times versuchte ich, den Trend der Anzahl neu infizierter Menschen in jedem Land zu visualisieren. Wenn ich versuche, die Daten selbst zu verarbeiten, wird diese Situation persönlich und das Interesse steigt. Heutzutage führe ich den Code jeden Morgen aus, überprüfe die Situation als "für mich selbst", denke über die Situation nach und schaue mir die Nachrichten an.
Bitte haben Sie Verständnis dafür, dass die Diskussion in diesem Artikel von einer Amateurperson geführt wurde und nichts garantiert.
Wir hoffen, dass die hier geteilten Informationen und der Code zur Reaktion auf die Infektion mit dem neuen Koronavirus beitragen können, und möchten uns bei allen Menschen bedanken, die täglich daran arbeiten, die Infektion mit dem neuen Koronavirus zu reduzieren.
Wir würden uns freuen, wenn Sie uns Ihre Vorschläge und Meinungen geben könnten. Ich hoffe wir können eine Diskussion haben.
Die ebenfalls von der Johns Hopkins University veröffentlichten Daten haben ebenfalls Daten wiederhergestellt (wiederhergestellt) und tödlich (Todesfälle). Verwenden Sie diese. Betrachten wir anhand der Anzahl der Infizierten und ihrer Beziehung die medizinischen Systeme und ihren Reaktionsstatus in jedem Land.
Gehen Sie wie folgt vor und geben Sie Informationen ein, einschließlich der Anzahl der Wiederhersteller und Todesfälle.
path = '/content/COVID-19/csse_covid_19_data/csse_covid_19_time_series/'
df_c = pd.read_csv(path + 'time_series_19-covid-Confirmed.csv') #Anzahl der infizierten Personen
df_r = pd.read_csv(path + 'time_series_19-covid-Recovered.csv') #Anzahl der Wiederhersteller
df_d = pd.read_csv(path + 'time_series_19-covid-Deaths.csv') #Anzahl der Todesfälle
Da das Datenformat mit der Anzahl der infizierten Personen übereinstimmt, wird dieselbe Verarbeitung durchgeführt.
Da sich die infizierten Personen nach einigen Tagen erholt haben, haben wir die Anzahl der Tage bis zur Wiederherstellung aus der Tendenz der Anzahl der infizierten Personen und der Anzahl der wiederhergestellten Personen berechnet.
td_d = datetime.timedelta(days=16) #Es wird angenommen, dass die Anzahl der Wiederherstellungstage 16 Tage beträgt.
df2_r.index = df2_r.index - td_d #Verschieben Sie das Datum der Anzahl der Wiederhersteller auf vor 16 Tagen.
df2_r
Nachdem wir die Daten haben, können wir die Trends in Bezug auf die Anzahl infizierter Personen, die Anzahl der Geneser, die Anzahl der Todesfälle und die Anzahl der Geneser, die das angenommene Genesungsdatum verschoben haben, grafisch darstellen. Alle diese Daten sind integriert.
#Visualisieren Sie die Infektionstendenz jedes Landes.
import matplotlib.ticker as ticker
#Spaltennummer abrufen
id_x = df.columns.get_loc('Singapore') #Wir suchen Singapur als Vertreter. Durchsuchen Sie die Situation jedes Landes, indem Sie in das gewünschte Land wechseln.
#Grafik
fig, ax1 = plt.subplots(figsize=(8, 8))
ax1.plot(df.index, df[str(df.columns[id_x -2*len(country)])], color = 'red',label = "Confirmed Cases")
ax1.plot(df.index, df[str(df.columns[id_x - len(country)])], color = 'green',label = "Recovered")
ax1.plot(df.index, df[str(df.columns[id_x ])], color = 'yellow',label = "Deaths")
ax1.plot(df2_r.index, df2_r[str(df2_r.columns[id_x -2*len(country)])], color = 'blue',label = "Shifterd Recovered")
ax1.set_xlabel("Date")
ax1.set_ylabel("Confirmed Cases - Recovered")
plt.rcParams["font.size"] = 10
ax1.xaxis.set_major_locator(ticker.MultipleLocator(30.00))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%b'))
plt.title(str(df.columns[id_x]),fontweight="bold")
ax1.legend(loc='upper left', borderaxespad=1, fontsize = 10)
plt.show()
Werfen wir einen Blick auf Singapur, wo die ersten Gegenmaßnahmen aufgrund der Tendenz neu infizierter Menschen gut zu funktionieren schienen.
Andererseits wurde die Zahl der Todesfälle (gelb) seit Mitte März, als die Zahl der Infizierten rapide zunimmt, auf einem Wert nahe 0 gehalten, und es scheint, dass das medizinische Umfeld derzeit stabil ist. Ich werde. Ich mache mir jedoch Sorgen, dass sich viele Infizierte von der schnell wachsenden Zahl infizierter Menschen hier erholen werden.
Schauen wir uns als nächstes den Fall Japan an.
Bis Mitte Februar sind die Anzahl der Infizierten und die Anzahl der verschobenen Geneser nahezu gleich, und viele Infizierte erholen sich in diesem Zeitraum. Andererseits weicht seitdem die Zahl der wiederhergestellten Menschen, die sich verschoben haben, stärker von der Zahl der Infizierten ab, und auch die Zahl der Todesfälle hat tendenziell leicht zugenommen. Es wäre gut, wenn die infizierte Person lediglich 16 Tage oder mehr benötigt, um sich zu erholen, aber wenn diese Abweichung ein Faktor im medizinischen Umfeld ist, gibt es in Zukunft große Bedenken. Zuvor hatte der Gouverneur von Tokio eine Pressekonferenz abgehalten, die zeigte, dass er sich derzeit in einer "kritischen Phase" befindet. Es kann ein Urteil sein, um weitere Abweichungen zu verhindern.
Schauen wir uns als nächstes Italien an, wo in den Nachrichten über den medizinischen Zusammenbruch berichtet wird.
Es scheint, dass Italien in der Lage war, die Zahl der Infizierten bis Ende Februar trotz der derzeitigen medizinischen Einrichtungen wiederherzustellen.
Dies allein sagt nichts über die aktuelle Situation aus, aber diese Tendenz deutet darauf hin, dass das medizinische Umfeld ziemlich streng ist.
Da es sich um ein Land in Italien handelt, hat die Zahl der Infizierten seit Anfang März ebenso wie in Italien stark zugenommen. Darüber hinaus übersteigt die Anzahl der Todesfälle die Anzahl der Geneser, und es wird gefolgert, dass vor Ort kein ausreichendes medizinisches System eingerichtet ist.
Schließlich werden die Ergebnisse derselben Analyseverarbeitung für die Daten jedes Landes der Welt angezeigt. Dieses Mal wurde die Anzahl der Erholungstage auf 16 Tage festgelegt. Aufgrund der Unterschiede im medizinischen Umfeld und in den Systemen der einzelnen Länder ist es jedoch möglicherweise besser, einen für jedes Land geeigneten Wert festzulegen. Auch in den Vereinigten Staaten hat die Zahl der Infizierten seit Mitte März stark zugenommen, und es kann schwierig sein, dies zu erraten, da nur wenige Informationen vorliegen.
Ich möchte prüfen, ob die Maßnahmen jedes Landes unter den beiden Gesichtspunkten der Veränderung der Anzahl neu infizierter Menschen und des Verhältnisses zwischen der Anzahl der Geneser und der Anzahl der Todesfälle in der Zukunft funktionieren.
Dieser Code wird auch auf Github hochgeladen. Laden Sie ihn daher bitte herunter, wenn Sie möchten.
2019-nCoV Global Cases ( by Johns Hopkins CSSE) Visualization(Dash Board) 2019 Novel Coronavirus COVID-19 (2019-nCoV) Data Repository by Johns Hopkins CSSE Fragen und Antworten zum neuen Koronavirus (für die breite Öffentlichkeit) @ Ministerium für Gesundheit, Arbeit und Soziales
Recommended Posts