Learn practical skills, build real-world projects, and advance your career
Updated 4 years ago
import jovian
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from datetime import datetime
import math
ebola
- c is threshold
- put accurate measure
df=pd.read_csv('ebola_2014_2016_clean.csv')
data=df.to_numpy()
############################
dates=data[:,1]
countries=data[:,0]
cumulative_infected=data[:,2]
############################
distinct_countries=list(set(countries))
no_distinct_countries=len(distinct_countries)
############################
def find_days_between_dates(date):
date_format = "%d/%m/%Y"
year , month ,day=dates[0].split('-')
my_year , my_month , my_day=date.split('-')
a = datetime.strptime(day+'/'+month+'/'+year, date_format)
b = datetime.strptime(my_day+'/'+my_month+'/'+my_year, date_format)
delta = b - a
return delta.days
############################
def filter_by_country(C):
arrival_times=[]
for country_index in range(no_distinct_countries):
country=distinct_countries[country_index]
for i in range(len(dates)):
if countries[i]==country and len(arrival_times)!=country_index+1:
if cumulative_infected[i]>=C:
arrival_times.append(find_days_between_dates(dates[i]))
if len(arrival_times)!=country_index+1:
arrival_times.append(float('inf'))
df=pd.DataFrame({'countries':distinct_countries , 'arrival_time':arrival_times})
return df
############################
##Example
filter_by_country(100)
H1N1
- c is threshold
- put accurate measure
df=pd.read_excel('H1N1.xlsx')
data=df.to_numpy()
############################
dates=np.flip(data[:,3])
countries=np.flip(data[:,0])
cumulative_infected=np.flip(data[:,1])
############################
distinct_countries=list(set(countries))
no_distinct_countries=len(distinct_countries)
############################
for i in range(0, len(cumulative_infected)):
if np.isnan(cumulative_infected[i]):
cumulative_infected[i]=0
else:
cumulative_infected[i] = int(cumulative_infected[i])
############################
def find_days_between_dates(date):
year , month ,day = str(dates[0]).split(' ')[0].split('-')
my_year , my_month, my_day = str(date).split(' ')[0].split('-')
date_format = "%d/%m/%Y"
a = datetime.strptime(day+'/'+month+'/'+year, date_format)
b = datetime.strptime(my_day+'/'+my_month+'/'+my_year, date_format)
delta = b - a
return delta.days
############################
def filter_by_country(C):
arrival_times=[]
for country_index in range(no_distinct_countries):
country=distinct_countries[country_index]
for i in range(len(dates)):
if countries[i]==country and len(arrival_times)!=country_index+1:
if cumulative_infected[i]>=C:
arrival_times.append(find_days_between_dates(dates[i]))
if len(arrival_times)!=country_index+1:
arrival_times.append(float('inf'))
df=pd.DataFrame({'countries':distinct_countries , 'arrival_time':arrival_times})
return df
############################
##Example
filter_by_country(1)