Open AAntunesNDS opened 4 years ago
Boa! To imaginando que você se inspirou aqui: https://www.ft.com/coronavirus-latest
O que achas das seguintes sugestões:
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.
Colocar as barras de dobrando a cada 1, 2 ou 3 dias (talvez variar esses números).
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
Obrigado pelas dicas! Estou aprendendo muito com suas sugestões
Data visualization: covid-19 evolution top 10 citys ceara.