__STYLES__
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
## For better interactive visualization
import plotly.graph_objects as go
import plotly.express as px
import warnings
warnings.filterwarnings('ignore')
import os
files=os.listdir(r'C:\Users\Ravi Kumar\Downloads\Covid_19')
files
['country_wise_latest.csv', 'covid_19_clean_complete.csv', 'day_wise.csv', 'full_grouped.csv', 'usa_country_wise.csv', 'worldometer_data.csv']
## lets create a function to make our task simpler as we have to read data again & again
def read_data(path, filename):
return pd.read_csv(path+'/'+filename)
path=r'C:\Users\Ravi Kumar\Downloads\Covid_19'
world_data=read_data(path,'worldometer_data.csv')
world_data
day_wise=read_data(path,files[2])
day_wise
group_data=read_data(path,files[3])
group_data
province_data=read_data(path,files[1])
province_data
world_data.columns
Index(['Country/Region', 'Continent', 'Population', 'TotalCases', 'NewCases', 'TotalDeaths', 'NewDeaths', 'TotalRecovered', 'NewRecovered', 'ActiveCases', 'Serious, Critical', 'Tot Cases/1M pop', 'Deaths/1M pop', 'TotalTests', 'Tests/1M pop', 'WHO Region'], dtype='object')
columns=['TotalCases', 'TotalDeaths', 'TotalRecovered',' ActiveCases']
for i in columns:
fig=px.treemap(world_data[0:20],values=i,path=['Country/Region'],template="plotly_dark"
,title="<b>TreeMap representation of different Countries w.r.t. their {}</b>".format(i))
fig.show()
fig=px.line(day_wise,x="Date",y=["Confirmed","Deaths","Recovered","Active"],title="covid cases w.r.t. date"
,template="plotly_dark")
fig.show()
pop_test_ratio=world_data.iloc[0:20]['Population']/world_data.iloc[0:20]['TotalTests']
pop_test_ratio
fig=px.bar(world_data.iloc[0:20],color='Country/Region',y=pop_test_ratio,x='Country/Region'
,template="plotly_dark",title="<b>population to tests done ratio</b>")
fig.show()
fig=px.bar(world_data.iloc[0:20],x='Country/Region'
,y=['Serious, Critical', 'TotalDeaths', 'TotalRecovered',' ActiveCases', 'TotalCases'],template="plotly_dark")
fig.update_layout({'title':"Top 20 Countries Badly affected by Corona"})
fig.show()
fig=px.bar(world_data.iloc[0:20],y='Country/Region',x='TotalCases',color='TotalCases',text="TotalCases")
fig.update_layout(template="plotly_dark",title_text="<b>Top 20 countries of Total confirmed cases</b>")
fig.show()
fig=px.bar(world_sortdata.iloc[0:20],y='Country/Region',x='TotalDeaths',color='TotalDeaths',text='TotalDeaths')
fig.update_layout(template='plotly_dark',title='Top 20 countries of total Deaths cases')
fig.show()
fig=px.bar(world_data.sort_values(by='ActiveCases',ascending=False).iloc[0:20],y='Country/Region',x='ActiveCases',color='ActiveCases',text='ActiveCases')
fig.update_layout(template='plotly_dark',title='Top 20 countries of total Active cases')
fig.show()
fig=px.bar(world_data.sort_values(by='TotalRecovered',ascending=False).iloc[0:20],y='Country/Region',x='TotalRecovered',color='TotalRecovered',text='TotalRecovered')
fig.update_layout(template='plotly_dark',title='Top 20 countries of total TotalRecovered')
fig.show()
labels=world_data[0:15]['Country/Region'].values
cases=['TotalCases','TotalDeaths','TotalRecovered','ActiveCases']
for i in cases:
fig=px.pie(world_data[0:15],values=i,names=labels,hole=0.3,title='{} recorded w.r.t to WHO region of 15 worst affected countries'.format(i))
fig.show()
deaths_to_confirmed=world_data['TotalDeaths']/world_data['TotalCases']
deaths_to_confirmed
px.bar(world_data,x='Country/Region',y=deaths_to_confirmed,color='Country/Region',title='Deaths to confirmed ratio of worst affected countries')
deaths_to_recovered=world_data['TotalDeaths']/world_data['TotalRecovered']
px.bar(world_data,x='Country/Region',y=deaths_to_recovered,color='Country/Region',title='Deaths to recovered ratio of worst affected countries')
test_to_confirmed=world_data['TotalTests']/world_data['TotalCases']
px.bar(world_data,x='Country/Region',y=test_to_confirmed,color='Country/Region',title='test to confirmed ratio of worst affected countries')
serious_to_death=world_data['Serious,Critical']/world_data['TotalDeaths']
px.bar(world_data,x='Country/Region',y=serious_to_death,color='Country/Region',template='plotly_dark',title='serious to deaths ratio of worst affected countries')
from plotly.subplots import make_subplots
import plotly.graph_objects as go
def country_visualization(group_data,country):
data=group_data[group_data['Country/Region']==country]
data2=data.loc[:,['Date','Confirmed','Deaths','Recovered','Active']]
fig=make_subplots(rows=1,cols=4,subplot_titles=('Confirmed','Active','Recovered','Deaths'))
fig.add_trace(
go.Scatter(name='Confirmed',x=data2['Date'],y=data2['Confirmed']),row=1,col=1
)
fig.add_trace(
go.Scatter(name='Active',x=data2['Date'],y=data2['Active']),row=1,col=2
)
fig.add_trace(
go.Scatter(name='Recovered',x=data2['Date'],y=data2['Recovered']),row=1,col=3
)
fig.add_trace(
go.Scatter(name='Deaths',x=data2['Date'],y=data2['Deaths']),row=1,col=4
)
fig.update_layout(height=600,width=1000,title_text='Date vs Recorded cases of {}'.format(country),template='plotly_dark')
fig.show()
country_visualization(group_data,'India')