<jupyter_start><jupyter_text>What is Corona Virus(COVID-19)?**Coronavirus is a family of viruses that can cause illness, which can vary from common cold and cough to sometimes more severe disease. SARS-CoV-2 (n-coronavirus) is the new virus of the coronavirus family, which first discovered in 2019, which has not been identified in humans before. It is a contiguous virus which started from Wuhan in December 2019. Which later declared as Pandemic by WHO due to high rate spreads throughout the world. This NoteBook is an effort to analyze the cumulative data of confirmed, deaths, and recovered cases over time. In this notebook, the main focus is to analyze the spread trend of this virus all over the india.**  History of COVID-19 in India**On January 30, India reported its first case of COVID-19 in Kerala, which rose to three cases by February 3; all were students who had returned from Wuhan, China. No significant rise in cases was seen in the rest of February. On 4 March 22 new cases were reported, including 14 infected members of an Italian tourist group****On 22 March 2020, India observed a 14-hour voluntary public curfew at the instance of the prime minister <NAME>.The government followed it up with lockdowns in 75 districts where COVID cases had occurred as well as all major cities.Further, on 24 March, the prime minister ordered a nationwide lockdown for 21 days, affecting the entire 1.3 billion population of India.****The transmission escalated during March, after several cases were reported all over the country, most of which were linked to people with a travel history to affected countries. On 12 March, a 76-year-old man who had returned from Saudi Arabia became the first victim of the virus in the country.On 4 March, 22 new cases came to light, including those of an Italian tourist group with 14 infected members.But number of cases start increasing dramtically after 19th March, but in the month of April it has been its peak.****Experts suggest the number of infections could be much higher as India's testing rates are among the lower side in the world.**- Major events of the COVID-19 pandemic in India until April| Date | Events || :-| :-|| 30 January |	First confirmed case || 04 March |	Mandatory International passenger screenings at all airports"Mandatory screenings". || 12 March |	First confirmed death || 13 March |	Suspension of non-essential traveller visas || 15 March |	100 confirmed cases || 16 March |	Passenger land border crossing suspended || 22 March |	One day Janata Curfew, Passenger air travel suspended till further notice || 25 March |	Nationwide lock-down imposed till 14 April || 28 March |	1,000 confirmed cases || 30 March |	100 confirmed recoveries || 05 April | 	100 confirmed deaths || 14 April |	10,000 confirmed cases, Nationwide lock-down extended till 3 May || 13 April |	1,000 confirmed recoveries || 19 April |	500 confirmed deaths || 25 April |	5,000 confirmed recoveries |- Major events of COVID-19 pandemic in India since 30 April| Date | Events || :-| :-|| 1 May |   Nationwide lock-down further extended till 17 May || 2 May |	10,000 confirmed recoveries || 7 May |	50,000 confirmed cases || 10 May |	2,000 confirmed deaths || 11 May |	20,000 confirmed recoveries || 17 May |	Nationwide lockdown further extended till 31 May || 19 May |	100,000 confirmed cases || 23 May |	50,000 confirmed recoveries || 27 May |	150,000 confirmed cases || 30 May |	Lockdown extended in containment zones till 30 June || 31 May |	5,000 confirmed deaths || 3 June |	100,000 confirmed recoveries || 10 June |	Reported recoveries surpassed active cases || 13 June |	300,000 confirmed cases || 17 June |	10,000 confirmed deaths |Source: Wikipedia  Library<jupyter_code>import os
from requests import request
import urllib.request
import json
from pandas.io.json import json_normalize
from datetime import datetime, timedelta

import numpy as np 
import pandas as pd 
from IPython.display import Markdown

from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
import plotly.express as px
import plotly.graph_objs as go
import altair as alt
%matplotlib inline
import seaborn as sns
sns.set()
import pycountry
from plotly.offline import init_notebook_mode, iplot 
import plotly.offline as py
import plotly.express as ex
from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot
py.init_notebook_mode(connected=True)
import folium 
from folium import plugins
plt.style.use("seaborn-talk")
plt.rcParams['figure.figsize'] = 8, 5
plt.rcParams['image.cmap'] = 'viridis'
from fbprophet import Prophet
pd.set_option('display.max_rows', None)
from math import sin, cos, sqrt, atan2, radians
import warnings
warnings.filterwarnings("ignore")
import os
for dirname, _, filenames in os.walk('data'):
    for filename in filenames:
        print(os.path.join(dirname, filename))<jupyter_output><empty_output><jupyter_text>Data Extraction<jupyter_code>link = 'https://www.mohfw.gov.in/'
req = request('GET', url=link)
soup = BeautifulSoup(req.content, "html.parser")
thead = soup.find_all('thead')[-1]
head = thead.find_all('tr')
tbody = soup.find_all('tbody')[-1]
body = tbody.find_all('tr')
head_rows = []
body_rows = []
for tr in head:
    td = tr.find_all(['th', 'td'])
    row = [i.text for i in td]
    head_rows.append(row)   
for tr in body:
    td = tr.find_all(['th', 'td'])
    row = [i.text for i in td]
    body_rows.append(row)
df_bs = pd.DataFrame(body_rows[:len(body_rows)-1], columns=head_rows[0])   
df_bs.drop('S. No.', axis=1, inplace=True)

#To remove last raw
df_bs.drop(df_bs.tail(5).index,axis = 0,inplace=True)

now  = datetime.now()
df_bs['Date'] = now.strftime("%m/%d/%Y") 
df_bs['Date'] = pd.to_datetime(df_bs['Date'], format='%m/%d/%Y')
df_bs.rename(columns = {'Deaths**':'Deceased','Cured/Discharged/Migrated*':'Cured/Discharged/Migrated',
                       'Active Cases*':'Active Cases','Total Confirmed cases*':'Total Confirmed Cases'},inplace = True)
symptoms={'symptom':['Fever',
        'Dry cough',
        'Fatigue',
        'Sputum production',
        'Shortness of breath',
        'Muscle pain',
        'Sore throat',
        'Headache',
        'Chills',
        'Nausea or vomiting',
        'Nasal congestion',
        'Diarrhoea',
        'Haemoptysis',
        'Conjunctival congestion'],'percentage':[87.9,67.7,38.1,33.4,18.6,14.8,13.9,13.6,11.4,5.0,4.8,3.7,0.9,0.8]}

symptoms=pd.DataFrame(data=symptoms,index=range(14))
lat = {'Delhi':28.7041,
       'Haryana':29.0588,
       'Kerala':10.8505,
       'Rajasthan':27.0238,
       'Telengana':18.1124,
       'Uttar Pradesh':26.8467,
       'Ladakh':34.2996,
       'Tamil Nadu':11.1271,
       'Jammu and Kashmir':33.7782,
       'Punjab':31.1471,
       'Karnataka':15.3173,
       'Maharashtra':19.7515,
       'Andhra Pradesh':15.9129, 
       'Odisha':20.9517, 
       'Uttarakhand':30.0668, 
       'West Bengal':22.9868, 
       'Puducherry': 11.9416, 
       'Chandigarh': 30.7333, 
       'Chhattisgarh':21.2787, 
       'Gujarat': 22.2587, 
       'Himachal Pradesh': 31.1048, 
       'Madhya Pradesh': 22.9734, 
       'Bihar': 25.0961, 
       'Manipur':24.6637,
       'Mizoram':23.1645,
       'Goa':15.2993,
       'Andaman and Nicobar Islands':11.7401,
       'Jharkhand' : 23.6102,
       'Arunachal Pradesh': 28.2180,
       'Assam' : 26.2006,
       'Tripura':23.9408,
       'Meghalaya':25.4670,
       'Nagaland':26.1584,
       'Dadra and Nagar Haveli and Daman and Diu': 20.1809,
       'Sikkim': 27.5330,
       'Lakshadweep':10.5667,
       'Telangana': 18.1124,
       'State Unassigned':20.5937
      }

long = {'Delhi':77.1025,
        'Haryana':76.0856,
        'Kerala':76.2711,
        'Rajasthan':74.2179,
        'Telengana':79.0193,
        'Uttar Pradesh':80.9462,
        'Ladakh':78.2932,
        'Tamil Nadu':78.6569,
        'Jammu and Kashmir':76.5762,
        'Punjab':75.3412,
        'Karnataka':75.7139,
        'Maharashtra':75.7139,
        'Andhra Pradesh':79.7400, 
        'Odisha':85.0985, 
        'Uttarakhand':79.0193, 
        'West Bengal':87.8550, 
        'Puducherry': 79.8083, 
        'Chandigarh': 76.7794, 
        'Chhattisgarh':81.8661, 
        'Gujarat': 71.1924, 
        'Himachal Pradesh': 77.1734, 
        'Madhya Pradesh': 78.6569, 
        'Bihar': 85.3131, 
        'Manipur':93.9063,
        'Mizoram':92.9376,
        'Goa':74.1240,
        'Jharkhand' : 85.2799,
        'Andaman and Nicobar Islands':92.6586,
        'Arunachal Pradesh' :94.7278,
        'Assam' : 92.9376,
        'Tripura':91.9882,
        'Meghalaya':91.3662,
        'Nagaland':94.5624,
        'Dadra and Nagar Haveli and Daman and Diu':73.0169,
        'Sikkim': 88.5122,
        'Lakshadweep':72.6417,
        'Telangana': 79.0193,
        'State Unassigned':78.9629
       }

df_bs['Latitude'] = df_bs['Name of State / UT'].map(lat)
df_bs['Longitude'] = df_bs['Name of State / UT'].map(long)
df_bs.info()
df_bs.columns
cols = ['Active Cases', 'Cured/Discharged/Migrated', 'Deceased', 'Total Confirmed Cases']
df_bs[cols] = df_bs[cols].astype('int') 
df_bs.columns = map(str.lower, df_bs.columns)
# complete data
file_name = now.strftime("%Y_%m_%d")+'.csv'
file_loc = 'data/'
df_bs.to_csv(file_loc + file_name, index=False)
def read_from_api(URL, x=None):
    """
    Read data from API and Return Normalized JSON
    
    Keyword arguments:
    URL -- String API URL
    x -- String name to normalize API request into JSON
    """
    response = request(url=URL, method='get')
    elevations = response.json()
    return json_normalize(elevations) if x==None else json_normalize(elevations[x])
def missing_data(data):
    total = data.isnull().sum().sort_values(ascending = False)
    percent = (data.isnull().sum()/data.isnull().count()*100).sort_values(ascending = False)
    return pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])<jupyter_output><empty_output><jupyter_text>Patient level raw data<jupyter_code># patient level raw data
df_raw_data1 = read_from_api('https://api.covid19india.org/raw_data1.json', 'raw_data')
df_raw_data2 = read_from_api('https://api.covid19india.org/raw_data2.json', 'raw_data')
df_raw_data3 = read_from_api('https://api.covid19india.org/raw_data3.json', 'raw_data')
df_raw_data4 = read_from_api('https://api.covid19india.org/raw_data4.json', 'raw_data')
df_raw_data5 = read_from_api('https://api.covid19india.org/raw_data5.json', 'raw_data')
df_raw_data6 = read_from_api('https://api.covid19india.org/raw_data6.json', 'raw_data')
df_raw_data7 = read_from_api('https://api.covid19india.org/raw_data7.json', 'raw_data')
df_raw_data8 = read_from_api('https://api.covid19india.org/raw_data8.json', 'raw_data')
df_raw_data9 = read_from_api('https://api.covid19india.org/raw_data9.json', 'raw_data')

# concatenate dfs
df_raw_data = pd.concat([df_raw_data1, df_raw_data2, df_raw_data3, df_raw_data4, df_raw_data5, df_raw_data6,
                       df_raw_data7, df_raw_data8, df_raw_data9])
# first few rows
df_raw_data.head()
df_raw_data.info()
missing = df_raw_data.isnull().sum()[df_raw_data.isnull().sum() !=0]
missing = pd.DataFrame(missing.reset_index())
missing.rename(columns={'index':'features',0:'missing_count'}, inplace = True)
missing['missing_count_percentage'] = ((missing['missing_count'])/df_raw_data.shape[0])*100
plt.figure()
sns.barplot(y = missing['features'], x = missing['missing_count_percentage'])
missing_data(df_raw_data)
df_raw_data['agebracket'] = df_raw_data['agebracket'].replace('28-35', 35)
df_raw_data['agebracket'] = df_raw_data['agebracket'].replace('18-28', 28)
# df_raw_data['agebracket'] = df_raw_data['agebracket'].replace('', 0).fillna(0)
df_raw_data['agebracket'] = pd.to_numeric(df_raw_data['agebracket'], errors='coerce')
df_raw_data['entryid'] = df_raw_data['entryid'].str.replace('', '0').fillna(0).astype('int')
df_raw_data.drop(['backupnotes','estimatedonsetdate'], axis=1, inplace = True)
numeric_cols = ['agebracket', 'entryid', 'numcases', 'patientnumber']
for i in numeric_cols:
    df_raw_data[i] = pd.to_numeric(df_raw_data[i], errors='coerce')

cols = ['currentstatus','detectedstate','gender','notes','statecode','typeoftransmission']
df_raw_data[cols] = df_raw_data[cols].astype('category')
df_raw_data['dateannounced'] = pd.to_datetime(df_raw_data['dateannounced'])
df_raw_data['statuschangedate']= pd.to_datetime(df_raw_data['statuschangedate'])
str_cols = ['contractedfromwhichpatientsuspected','dateannounced', 'detectedcity', 'detecteddistrict', 
       'nationality', 'notes', 'source1', 'source2', 'source3','statepatientnumber', 'statuschangedate']
df_raw_data[str_cols] = df_raw_data[str_cols].astype('str')
df_raw_data.info()
# save to csv`
df_raw_data.to_csv('data/patients_data.csv', index=False)<jupyter_output><empty_output><jupyter_text>National Level : Time series data<jupyter_code>df_cases_time_series = read_from_api('https://api.covid19india.org/data.json','cases_time_series')
df_cases_time_series.tail()
df_cases_time_series.info()
cols = ['dailyconfirmed', 'dailydeceased', 'dailyrecovered', 'totalconfirmed', 'totaldeceased', 'totalrecovered']
df_cases_time_series[cols] = df_cases_time_series[cols].astype('int')
df_cases_time_series.to_csv('data/nation_level_daily.csv', index=False)<jupyter_output><empty_output><jupyter_text>National Level : State-wise stats data<jupyter_code>df_statewise = read_from_api('https://api.covid19india.org/data.json','statewise')
df_statewise.info()
cols = ['active', 'confirmed', 'deaths', 'deltaconfirmed', 'deltadeaths',
       'deltarecovered', 'migratedother', 'recovered']
df_statewise[cols] = df_statewise[cols].astype('int')
df_statewise['lastupdatedtime']= pd.to_datetime(df_statewise['lastupdatedtime'])
df_statewise.head()
df_statewise.to_csv('data/state_level_latest.csv', index=False)<jupyter_output><empty_output><jupyter_text>State Level : Daily changes data<jupyter_code># read data
state_wise_daily = pd.read_csv('https://api.covid19india.org/csv/latest/state_wise_daily.csv')

# melt dataframe
state_wise_daily = state_wise_daily.melt(id_vars=['Date', 'Status'], 
                                         value_vars=state_wise_daily.columns[2:], 
                                         var_name='State', value_name='Count')

# pivot table
state_wise_daily = state_wise_daily.pivot_table(index=['Date', 'State'], 
                                                columns=['Status'], 
                                                values='Count').reset_index()
# latest = []
# latest['State_code'] = ['AN', 'AP', 'AR', 'AS', 'BR', 'CH', 'CT', 'DD', 'DL', 'DN', 'GA',
#        'GJ', 'HP', 'HR', 'JH', 'JK', 'KA', 'KL', 'LA', 'LD', 'MH', 'ML',
#        'MN', 'MP', 'MZ', 'NL', 'OR', 'PB', 'PY', 'RJ', 'SK', 'TG', 'TN',
#        'TR', 'TT', 'UN', 'UP', 'UT', 'WB']
# latest['State'] = ['Andaman and Nicobar','Andhra Pradesh','Arunachal Pradesh','Assam','Bihar','Chandigarh',
#                    'Chhattisgarh','Daman and Diu','Dadra and Nagar Haveli','Delhi','Goa','Gujarat',
#                    'Himachal Pradesh','Haryana','Jharkhand','Jammu and Kashmir','Karnataka','Kerala','Ladakh',
#                    'Lakshadweep','Maharashtra','Manipur','Meghalaya','Mizoram','Madhya Pradesh','Nagaland',
#                    'Odisha','Puducherry','Punjab','Rajasthan','Sikkim','Tamil Nadu','Telengana','Tripura',
#                    'Uttar Pradesh','Uttarakhand','West Bengal']
# # map state names to state codes
# state_codes = {code:state for code, state in zip(latest['State_code'], latest['State'])}
# # state_codes['DD'] = 'Daman and Diu'
# state_wise_daily['State_Name'] = state_wise_daily['State'].map(state_codes)
# state_wise_daily['Date']= pd.to_datetime(state_wise_daily['Date'])

state_wise_daily.columns = map(str.lower, state_wise_daily.columns)
# save as a .csv file
state_wise_daily.to_csv('data/state_level_daily.csv')

# first few rows
state_wise_daily.head()<jupyter_output><empty_output><jupyter_text>State Level : has district-wise  data<jupyter_code># read data
district_wise = pd.read_csv('https://api.covid19india.org/csv/latest/district_wise.csv')
district_wise.columns = map(str.lower, district_wise.columns)

# save as .csv file
district_wise['last_updated']= pd.to_datetime(district_wise['last_updated'], errors='coerce')
district_wise.to_csv('data/district_level_latest.csv', index=False)

# first few rows
district_wise.head()<jupyter_output><empty_output><jupyter_text>National Level : Test counts data<jupyter_code># read data
tests_day_wise = pd.read_csv('https://api.covid19india.org/csv/latest/tested_numbers_icmr_data.csv')
tests_day_wise.columns = map(str.lower, tests_day_wise.columns)
# tests_day_wise['update time stamp'] = pd.to_datetime(tests_day_wise['update time stamp'])
tests_day_wise['tested as of'] = pd.to_datetime(tests_day_wise['tested as of'])
tests_day_wise['total positive cases'] = pd.to_numeric(tests_day_wise['total positive cases'],errors='coerce')
tests_day_wise['sample reported today'] = pd.to_numeric(tests_day_wise['sample reported today'],errors='coerce')
# save as .csv file
tests_day_wise.to_csv('data/tests_day_wise.csv', index=False)

# first few rows
tests_day_wise.head()<jupyter_output><empty_output><jupyter_text>State Level : Testing data<jupyter_code># read data
tests_state_wise = pd.read_csv('https://api.covid19india.org/csv/latest/statewise_tested_numbers_data.csv')
tests_state_wise.columns = map(str.lower, tests_state_wise.columns)
tests_state_wise['updated on'] = pd.to_datetime(tests_state_wise['updated on'])
# save as .csv file
tests_state_wise.to_csv('data/tests_state_wise.csv', index=False)

# first few rows
tests_state_wise.head(3)<jupyter_output><empty_output><jupyter_text>Data Cleaning<jupyter_code>missing_data(df_bs)
df_bs['mortality_rate'] = df_bs['deceased']/df_bs['total confirmed cases']
df_bs['recovery_rate'] = df_bs['cured/discharged/migrated']/df_bs['total confirmed cases']
file_name = 'cleaned'+now.strftime("%Y_%m_%d")+'.csv'
file_loc = 'data/'
df_bs.to_csv(file_loc + file_name, index=False)
total_cases = df_bs[['name of state / ut','date','total confirmed cases','deceased',
                                 'cured/discharged/migrated','active cases']]
total_cases['date'] = total_cases['date'].apply(pd.to_datetime, dayfirst=True)
total_cases = total_cases.groupby(["date"]).sum().reset_index()

total_cases.head()<jupyter_output><empty_output><jupyter_text>**Overall view of the situation**<jupyter_code>fig = px.bar(symptoms[['symptom', 'percentage']].sort_values('percentage', ascending=False), 
             x="percentage", y="symptom", color='symptom',color_discrete_sequence = ex.colors.cyclical.IceFire
              ,title='Symptom of Coronavirus',orientation='h')
fig.update_layout(plot_bgcolor='rgb(275, 270, 273)')
fig.update_traces(textposition='inside')
fig.update_layout(uniformtext_minsize=8, uniformtext_mode='hide')
fig.update_layout(barmode='stack')
fig.update_layout(plot_bgcolor='rgb(275, 270, 273)',yaxis_title='Symptoms',xaxis_title='Percentages')
fig.update_layout(template = 'plotly_white')
fig.show()
total_tested = tests_day_wise['total samples tested'].max()
total_positive = tests_day_wise['total positive cases'].sum()
positivecase_ratio = total_positive * 100 / total_tested
pcr = float("{:.2f}".format(positivecase_ratio))
test_million = np.round(1000000*tests_day_wise['total samples tested'].max()/13000000000,2)
print('Total Number of people tested :', total_tested)
print('Total Number of positive cases :',total_positive)
print('Test Conducted per Million People :',test_million)
print('Positive case per Tests [%]:',pcr)
print('Total Recovered Cases :',df_bs['cured/discharged/migrated'].sum())
print('Total Deaths :',df_bs['deceased'].sum())
#Overall 
fig = go.Figure(data=[go.Pie(labels=['Total Samples Tested','Positive Cases from tested samples'],
                            values= [total_tested,total_positive],hole =.3)])
fig.update_traces(hoverinfo='label+percent', textinfo='value',textfont_size=20,
                  marker=dict(colors=['#263fa3','#cc3c2f'], line=dict(color='#FFFFFF', width=2)))
fig.update_layout(title_text='COVID19 Test Results from ICMR in india',plot_bgcolor='rgb(275, 270, 273)')
fig.show()
#Overall 
ac= df_bs['active cases'].sum()
rvd = df_bs['cured/discharged/migrated'].sum()
dth = df_bs['deceased'].sum()
fig = go.Figure(data=[go.Pie(labels=['Active','Recovered','Deceased'],
                             values= [ac,rvd,dth],hole =.3)])
fig.update_traces(hoverinfo='label+percent', textinfo='value', textfont_size=20,
                  marker=dict(colors=['#263fa3', '#2fcc41','#cc3c2f'], line=dict(color='#FFFFFF', width=2)))
fig.update_layout(title_text='Current Situation in India according www.mohfw.gov.in',plot_bgcolor='rgb(275, 270, 273)')
fig.show()
Total_confirmed = df_statewise['active'].sum()
Total_recovered =  df_statewise['recovered'].sum()
Total_death = df_statewise['deaths'].sum()
data = [['active', Total_confirmed], ['recovered', Total_recovered], ['deaths', Total_death]] 
df = pd.DataFrame(data, columns = ['state', 'count']) 
fig = px.pie(df,
             values= 'count',labels=['Active Cases','Cured','Death'],
             names="state",
             title="Real Time data from www.covid19india.org",
             template="seaborn")
fig.update_traces(hoverinfo='label+percent', textinfo='value', textfont_size=14,
                  marker=dict(colors=['#263fa3', '#2fcc41','#cc3c2f'], line=dict(color='#FFFFFF', width=2)))
fig.update_traces(textposition='inside')

fig.update_traces(rotation=90, pull=0.05, textinfo="percent+label")
fig.show()
from IPython.core.display import HTML
HTML(''' <iframe title="" aria-label="Interactive line chart" id="datawrapper-chart-kc9cP" src="https://datawrapper.dwcdn.net/kc9cP/1/" scrolling="no" frameborder="0" style="width: 0; min-width: 100% !important; border: none;" height="400"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(a){if(void 0!==a.data["datawrapper-height"])for(var e in a.data["datawrapper-height"]){var t=document.getElementById("datawrapper-chart-"+e)||document.querySelector("iframe[src*='"+e+"']");t&&(t.style.height=a.data["datawrapper-height"][e]+"px")}}))}();
</script> ''')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14857271296920657, 'fraction_numerical': 0.04126770060687795, 'mean_word_length': 4.843446283162595, 'pattern_counts': {'":': 0, '<': 50, '<?xml version=': 0, '>': 50, 'https://': 17, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 1, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '11', 'dir': 'jupyter-structured-clean-dedup', 'id': '450473', 'license': 'Apache-2.0', 'n_tokens_mistral': 8350, 'n_tokens_neox': 7528, 'n_words': 1621, 'path': 'covid19_India-Data_Extraction.ipynb', 'repo_name': 'pratikbarjatya/covid19IndiaAnalysisAndForecasting', 'size': '22252'}