Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Entender o lambda x do .applymap

Oi,

para mim não ficou claro como o applymap do style reconhece o subset como x, segue o código=

tabela_frequencias.style.format({'Percentual': '{:.2%}'}) \
                        .bar(subset='Percentual', vmin=0.05, color='lightblue') \
                      .applymap(lambda x: f"color: {'red' if x >= 35 else 'black'}", subset='Frequências') # esta linha não ficou clara
2 respostas
solução!

Olá, Yan! Tudo beleza? Espero que sim!

Nessa questão, estamos trabalhando com um objeto da biblioteca Pandas que é denominado um Styler. É uma estrutura que serve para formatar a apresentação das tabelas.

No exemplo do código acima, sempre indicamos o eixo (coluna) que estamos trabalhando, e em alguns fica bem explícito com o uso do parâmetro subset.

Quando usamos a função format() em conjunto ao applymap(), este último aplica uma estilização baseada em CSS a cada um dos elementos do conjunto especificado, que no caso foi subset="Frequências". Nesse link temos a referência da função:

-pandas.io.formats.style.Styler.applymap

O processo para entender como o x consegue mapear todos os valores é feito de outra maneira. Nós na verdade já estamos inferindo que a coluna a ser trabalhada é a de frequências, e todos os valores dentro dessa coluna vão ser tratados. É isso que a função anônima (lambda) faz.

Para todos os valores do subset de Frequências, faça a operação de criar uma novo valor do tipo string que pode assumir dois valores: "color: 'red'" ou "color: 'black'", baseado no próprio valor atual da célula.

Então apenas reiterando, o subset não trabalha sobre os valores da céula, ele apenas define o espaço que a lambda vai trabalhar.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

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

Agradeço as orientações, agora ficou mais compreensível!