Davide Taviani / Mar 12 2021 / Published
with
Dieter Komendera
Remix of Covid-19 in Italia by
Davide Taviani
Covid-19 in the World
curl https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv > /shared/positive.csvcurl https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv > /shared/deaths.csv2.3s
Bash in Python
import pandas as pdimport plotly.graph_objs as godef process_data(filename): data = pd.read_csv(filename) del data['Lat'] del data['Long'] df = data.groupby('Country/Region').sum().T df['date'] = pd.to_datetime(df.index) return dfdef incremental_data(data): d = data-data.shift(); d = d.drop(d.index[0]) d['date']=data['date'] return d;def rolling(data,window): df = data.rolling(window).mean() df['date'] = pd.to_datetime(df.index) return df[(window-1):]def plot_data(data,incremental=False,last=90,window=0,log_scale=False): if incremental: data = incremental_data(data) if window > 0: data = rolling(data,window) if last > 0: data = data[-last:] fig =go.Figure(data=[ go.Scatter(mode='lines',name='Italy', x=data['date'], y=data['Italy'], marker_color='magenta'), go.Scatter(mode='lines',name='Greece', x=data['date'], y=data['Greece'], marker_color='lightskyblue'), go.Scatter(mode='lines',name='France', x=data['date'], y=data['France'], marker_color='dodgerblue'), #go.Scatter(mode='lines',name='China', x=data['date'], y=data['China'], marker_color='red'), go.Scatter(mode='lines',name='Austria', x=data['date'], y=data['Austria'], marker_color='red'), #go.Scatter(mode='lines',name='US', x=data['date'], y=data['US'], marker_color='blue'), go.Scatter(mode='lines',name='Germany', x=data['date'], y=data['Germany'], marker_color='black'), go.Scatter(mode='lines',name='Spain', x=data['date'], y=data['Spain'], marker_color='darkgreen'), #go.Scatter(mode='lines',name='Brazil', x=data['date'], y=data['Brazil'], marker_color='limegreen'), #go.Scatter(mode='lines',name='India', x=data['date'], y=data['India'], marker_color='green'), go.Scatter(mode='lines',name='Switzerland', x=data['date'], y=data['Switzerland'], marker_color='darkred'), go.Scatter(mode='lines',name='Netherlands', x=data['date'], y=data['Netherlands'], marker_color='orange'), go.Scatter(mode='lines',name='UK', x=data['date'], y=data['United Kingdom'], marker_color='pink')]) if log_scale: fig.update_yaxes(type="log") return fig df = process_data('/shared/positive.csv')df2 = process_data('/shared/deaths.csv')df.sort_values(by=['date'], ascending=False)1.8s
Python
Europe
New cases
plot_data(df,incremental=True,window=7)3.0s
Python
New deaths
plot_data(df2,incremental=True,window=7)1.2s
Python
Outside Europe
def plot_data2(data,incremental=False,last=0,window=0,log_scale=False): if incremental: data = incremental_data(data) if window > 0: data = rolling(data,window) if last > 0: data = data[-last:] fig =go.Figure(data=[ go.Scatter(mode='lines',name='Italy', x=data['date'], y=data['Italy'], marker_color='magenta'), go.Scatter(mode='lines',name='China', x=data['date'], y=data['China'], marker_color='red'), go.Scatter(mode='lines',name='US', x=data['date'], y=data['US'], marker_color='blue'), go.Scatter(mode='lines',name='Brazil', x=data['date'], y=data['Brazil'], marker_color='limegreen'), go.Scatter(mode='lines',name='Canada', x=data['date'], y=data['Canada'], marker_color='darkred'), go.Scatter(mode='lines',name='Japan', x=data['date'], y=data['Japan'], marker_color='orange'), go.Scatter(mode='lines',name='India', x=data['date'], y=data['India'], marker_color='green'), go.Scatter(mode='lines',name='Mexico', x=data['date'], y=data['Mexico'], marker_color='darkgreen'), go.Scatter(mode='lines',name='UK', x=data['date'], y=data['United Kingdom'], marker_color='pink') ]) if log_scale: fig.update_yaxes(type="log") return fig0.1s
Python
Positives
plot_data2(df,incremental=True,window=7)1.5s
Python
Deaths
plot_data2(df2,incremental=True,window=7)1.5s
Python