3778 / COVID-19

Ciência de Dados aplicada à pandemia do novo coronavírus.
https://covid-simulator.3778.care/
MIT License
216 stars 59 forks source link

Cases covid-19 evolution top 10 citys ceara #105

Open AAntunesNDS opened 4 years ago

AAntunesNDS commented 4 years ago

Data visualization: covid-19 evolution top 10 citys ceara.

image

dsevero commented 4 years ago

Boa! To imaginando que você se inspirou aqui: https://www.ft.com/coronavirus-latest

O que achas das seguintes sugestões:

  1. Geralmente esse tipo de chart consideram a partir de 30 casos (ou mais), quando a dinâmica do virus já ta mais aparente nas notificações. Ou, ainda, consideram a partir do dia que começa a ter no mínimo 10 casos novos por dia. Algo desse tipo.

  2. Colocar as barras de dobrando a cada 1, 2 ou 3 dias (talvez variar esses números).

dsevero commented 4 years ago

Acho que esse código pode simplificar sua análise tb.

(load_cases('city') 
 .filter(regex='/CE') 
 .loc(axis=1)[:, 'totalCases'] 
 .droplevel(1, axis=1) 

 # get top 3 city with most cases
 [lambda df: df.iloc[-1].nlargest(3).index] 

 # select days after total cases has reached 10
 .where(lambda df: (df > 10).cumsum().astype(bool)) 

 # reset each city to start at day 0
 .apply(lambda s: s.dropna().reset_index(drop=True)))

Resultado:

city  Fortaleza/CE  INDEFINIDA/CE  Caucaia/CE
0             17.0           12.0        13.0
1             17.0           14.0        14.0
2             63.0            5.0        16.0
3             76.0            5.0        18.0
4            116.0           12.0        23.0
5            151.0            8.0        26.0
6            170.0            8.0        26.0
7            196.0           20.0        31.0
8            224.0           20.0        39.0
9            268.0           21.0        42.0
10           304.0           30.0        56.0
11           338.0           31.0        71.0
12           353.0           38.0        78.0
13           371.0           25.0        82.0
14           413.0           35.0         NaN
15           526.0           34.0         NaN
16           600.0           84.0         NaN
17           681.0            NaN         NaN
18           869.0            NaN         NaN
19           929.0            NaN         NaN
20          1053.0            NaN         NaN
21          1238.0            NaN         NaN
22          1283.0            NaN         NaN
23          1366.0            NaN         NaN
24          1457.0            NaN         NaN
25          1529.0            NaN         NaN
26          1686.0            NaN         NaN
27          1794.0            NaN         NaN
28          1946.0            NaN         NaN
29          2041.0            NaN         NaN
30          2300.0            NaN         NaN
31          2562.0            NaN         NaN
32          2688.0            NaN         NaN

Pra fazer os "dias dobrando" eu colocaria no final

...
.assign(doubling_3days=lambda df: ...)
.assign(doubling_5days=lambda df: ...))

referencia pra fazer a conta https://en.wikipedia.org/wiki/Doubling_time

AAntunesNDS commented 4 years ago

Obrigado pelas dicas! Estou aprendendo muito com suas sugestões