Olá! Boa tarde. Não tive problemas no código e nem nada, mas eu não entendi os reais motivos para usar o MELT e o que esta função faz por debaixo dos panos.
Olá! Boa tarde. Não tive problemas no código e nem nada, mas eu não entendi os reais motivos para usar o MELT e o que esta função faz por debaixo dos panos.
Olá, Lucas! Tudo bem com você?
O motivo para usar o método .melt()
da biblioteca Pandas é por causa da visualização dos dados com o .violinplot()
, onde estamos interessados em plotar cada exame e analisar como estão distribuídos os valores desses exames para cada diagnóstico (B e M), então o .melt()
ajudará nessa atividade.
Para ficar mais claro, vou mostrar um exemplo que está na documentação do método:
# início do código
import pandas as pd
df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'},
'B': {0: 1, 1: 3, 2: 5},
'C': {0: 2, 1: 4, 2: 6}})
df
Saída:
A | B | C | |
---|---|---|---|
0 | a | 1 | 2 |
1 | b | 3 | 4 |
2 | c | 5 | 6 |
pd.melt(df, id_vars=['A'])
Saída:
A | variable | value | |
---|---|---|---|
0 | a | B | 1 |
1 | b | B | 3 |
2 | c | B | 5 |
3 | a | C | 2 |
4 | b | C | 4 |
5 | c | C | 6 |
O método .melt()
criará três colunas que são: a coluna da variável identificadora, coluna da variável e coluna dos valores dessa variável. Você define a coluna identificadora com o parâmetro id_vars
, em nosso exemplo foi escolhida a coluna A. Como não definimos qual coluna será utilizada como variável o método utiliza todas as colunas exceto a coluna utilizada como identificadora, por isso a coluna variable
apresenta os valores B e C e a coluna value são valores presentes nas colunas utilizadas como variáveis, no nosso exemplo são os valores de 1 a 6 que estão nas colunas B e C. Dessa forma fica mais simples a plotagem do .violinplot()
, bastando apenas passar as colunas faladas anteriormente resultantes do melt.
Espero ter ajudado e que tenha ficado claro, mas se ainda persistir alguma dúvida estou sempre à disposição para esclarecer.
:)
Oi Bruno! Obrigado pela ajuda.