2
respostas

[Dúvida] Identificando os 20% mais jovens

Na aula, é passada a demanda para identificar a idade dos 20% mais jovens. Pela lógica passada em aul, chega-se ao números de 2218 colaboradores que seriam os mais jovens com idade máxima de 25.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Porém, eu pensei que utilizar a função quantile passando 0.20 também me daria o mesmo resultado. E de fato, quando uso quantile na coluna idade, obtenho a mesma idade máxima de 25 gerada no dataset "idades_qualificados". Porém, quando aplico o filtro em colaboradores para conferir se a quantidade de registros seria a mesma de 2218, obtenho um número diferente de registros: 2274.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Minha dúvida é: quando usar e quando não usar quantile. Por que pelo enunciado do problema da aula, eu pensei que quantile resolveria. Mas, eu obtive um valor diferente daquele calculado pela instrutora.

2 respostas

Oi, Vinicius! Como vai?

Sua linha de raciocínio faz bastante sentido, e é muito bom ver você tentando resolver o problema usando quantile(). De fato, como você observou, o valor retornado (25 anos) coincide com o ponto de corte encontrado na aula.

A diferença está na forma como os dados são selecionados, e isso impacta diretamente na quantidade de registros.

Quando você usa:
colaboradores['idade'].quantile(0.20)

você está encontrando um valor limite (a idade que representa 20% da distribuição). Porém, ao aplicar o filtro:
idade <= 25

você acaba incluindo todas as pessoas com 25 anos, mesmo que isso ultrapasse exatamente os 20%.

Já a abordagem da aula faz algo diferente: ela ordena os dados e usa a posição relativa (cumulativo) para selecionar exatamente os 20% primeiros registros, independentemente de empates de idade. Por isso o número fica em 2218, enquanto com o quantile() você encontrou 2274.

Resumindo a diferença:

  • quantile() → encontra o valor de corte, mas pode incluir registros a mais devido a valores repetidos
  • cumulativo → seleciona exatamente a proporção desejada de registros

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Para saber mais:

Sugestão de conteúdo:

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Acredito que entendi Monalisa.

Então, o quantile me auxilia a descobrir o valor referente a 20% da distribuição dos valores de uma coluna numérica. Assim no exercício, eu sempre vou obter a idade de 25 e quando uso essa idade para filtrar o dataset, obtenho 2274 registros. Ou seja, trago todas as pessoas com idade até 25 que não necessariamente somam 20% dos registros (pode ser mais).

Porém o método passado em aula era referente a obter a quantidade de 20% dos registros com a coluna numérica ordenada de forma crescente. E, por mais que a idade máxima desses 20% seja 25, ele trará 2218 registros porque ele vai desconsiderar alguns registros onde a idade seja igual a 25 porque eles extrapolam esses 20% do total de registros.

É uma diferença sutil de semântica mas que acaba gerando essa diferença de quantidades.