Oii Érico, tudo bem contigo?
Realmente os dados mais recentes, a partir da data de 5 de agosto de 2021 em diante, estão com os números de recuperados zerados. Isso porque a base de dados não está sendo mais atualizada com os dados reais.
Dessa forma, de fato se torna inviável realizar o cálculo da letalidade para esses dados zerados. No entanto, é possível fazer esse cálculo para as datas anteriores ao dia 5 de agosto de 2021 que ainda possuem os números de recuperados.
Para realizar o fatiamento do dataframe a partir desta data, realize a operação a seguir:
confirmed = confirmed.loc[:, :'8/4/21']
deaths = deaths.loc[:, :'8/4/21']
recovered = recovered.loc[:, :'8/4/21']
Após isso, execute todas as células novamente. O resultado após a operação de letalidade será similar a tabela abaixo:
Country/Region | confirmed | deaths | recovered | letality_rate_1 | letality_rate_2 |
---|
Vanuatu | 4 | 1 | 3 | 25 | 25 |
MS Zaandam | 9 | 2 | 7 | 22.2222 | 22.2222 |
Yemen | 7096 | 1380 | 4251 | 19.4476 | 24.5072 |
Peru | 2.11907e+06 | 196673 | 2.08609e+06 | 9.28111 | 8.61558 |
Mexico | 2.90109e+06 | 242547 | 2.27043e+06 | 8.36054 | 9.65179 |
Sudan | 37138 | 2776 | 30647 | 7.47482 | 8.30566 |
Syria | 26044 | 1919 | 22019 | 7.3683 | 8.01654 |
Ecuador | 489089 | 31694 | 443880 | 6.48021 | 6.66437 |
Egypt | 284472 | 16550 | 232179 | 5.8178 | 6.65383 |
Somalia | 15658 | 832 | 7661 | 5.31358 | 9.7963 |
Abaixo, o código completo desta aula:
import pandas as pd
confirmed = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')
deaths = pd.read_csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv")
recovered = pd.read_csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv")
confirmed = confirmed.loc[:, :'8/4/21']
deaths = deaths.loc[:, :'8/4/21']
recovered = recovered.loc[:, :'8/4/21']
def latest_by_country(data):
return data.groupby('Country/Region').sum().iloc[:,-1]
informations = [latest_by_country(confirmed), latest_by_country(deaths), latest_by_country(recovered)]
combined = pd.concat(informations, axis = 1)
combined.columns = ['confirmed', 'deaths', 'recovered']
combined.head()
letality_rate_1 = combined["deaths"] / combined["confirmed"] * 100
combined["letality_rate_1"] = letality_rate_1
combined.head()
letality_rate_2 = combined["deaths"] / (combined["deaths"] + combined["recovered"])
sum_up = combined.sum()
letality_rate_1 = sum_up["deaths"] / sum_up["confirmed"]
letality_rate_2 = sum_up["deaths"] / (sum_up["deaths"] + sum_up["recovered"])
print(letality_rate_1 * 100)
print(letality_rate_2 * 100)
letality_rate_1 = combined["deaths"] / combined["confirmed"] * 100
letality_rate_2 = combined["deaths"] / (combined["recovered"] + combined["deaths"]) * 100
combined["letality_rate_1"] = letality_rate_1
combined["letality_rate_2"] = letality_rate_2
combined.sort_values("letality_rate_1", ascending=False).head(10)
Espero ter ajudado. Qualquer dúvida fico à disposição :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!