Bom dia! Ao executar os códigos da atividade extra de Métodos de Interpolação, ao usar o bfill com limit =1, pelo que notei, alterou os 2 NaN no final, ele não deveria atualizar somente 1 registro? Abraço!
--
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia! Ao executar os códigos da atividade extra de Métodos de Interpolação, ao usar o bfill com limit =1, pelo que notei, alterou os 2 NaN no final, ele não deveria atualizar somente 1 registro? Abraço!
--
Olá, Antonio, tudo bem?
Na verdade, o comportamento deveria ser justamente esse com o DataSeries s. Foi apenas uma pequena confusão em relação ao comportamento do parâmetro limit. Esse parâmetro não dita a quantidade de NaNs que serão preenchidos, mas o número máximo consecutivo de valores NaN que serão preenchidos no forward/backfill.
Explicando de uma forma mais direta, se você tem um gap com mais NANs do que o número do que você especificou no parâmetro limit, apenas uma parte deles serão preenchidos. Um detalhe é que se não definir o limite, o gap com o maior número de NaNs será o limite.
Exemplificando, se usarmos o Data Series s alterando para o caso do limit None, 1 e 2, teremos:
| S | Backfill (limit = None) | Backfill (limit = 1) | Backfill (limit = 2) | |
|---|---|---|---|---|
| 0 | 0.50 | 0.50 | 0.50 | 0.50 |
| 1 | NaN | 0.52 | NaN | 0.52 |
| 2 | NaN | 0.52 | 0.52 | 0.52 |
| 3 | 0.52 | 0.52 | 0.52 | 0.52 |
| 4 | 0.54 | 0.54 | 0.54 | 0.54 |
| 5 | NaN | 0.59 | NaN | 0.59 |
| 6 | NaN | 0.59 | 0.59 | 0.59 |
| 7 | 0.59 | 0.59 | 0.59 | 0.59 |
| 8 | 0.60 | 0.60 | 0.60 | 0.60 |
| 9 | NaN | 0.70 | 0.70 | 0.70 |
| 10 | 0.70 | 0.70 | 0.70 | 0.70 |
Nota-se que tanto o None quanto o limit = 2 tiveram comportamentos idênticos. Isso porque o gap máximo de NaNs é igual a 2 e o parâmetro quando suprimido escolhe o valor máximo.
Para complementar seu estudo e aprender as potencialidades da biblioteca pandas e do método fillna(), indicamos a leitura da sua documentação.
Espero ter ajudado e qualquer dúvida é só chamar!
Forte abraço!