Utilização e Aplicação do Método melt() no Pandas
Tags: python, pandas, melt, programming
Published: 2023-07-21 23:09:59


O pandas é uma biblioteca de código aberto para análise de dados em Python. Uma das funções mais poderosas do pandas é o método `melt()`, que permite transformar um DataFrame no formato wide para o formato long, tornando os dados mais organizados e facilitando a manipulação. Neste artigo, exploraremos em detalhes o método `melt()`, explicando seu propósito, sintaxe e exemplos de aplicação para uma melhor compreensão e utilização no processamento de dados.


O método `melt()` é uma função-chave no pandas que desempenha um papel fundamental na reestruturação de dados. É usado principalmente para transformar um DataFrame de formato wide para um formato longo, facilitando análises posteriores. Isso é especialmente útil quando você tem um conjunto de dados com múltiplas colunas que representam diferentes categorias ou variáveis.

**Propósito do Método `melt()` no Pandas:**
O método `melt()` é utilizado para "derreter" ou "unpivot" um DataFrame, ou seja, ele converte as colunas em linhas, criando uma representação mais organizada e estruturada dos dados. Isso é particularmente útil quando os dados estão no formato wide, onde cada coluna representa uma variável diferente e cada linha representa uma observação específica. Ao aplicar o `melt()`, podemos reunir as informações de diferentes colunas em uma única coluna e, ao mesmo tempo, criar colunas adicionais que representam a origem das informações. Isso torna os dados mais flexíveis e mais fáceis de analisar.

**Sintaxe do Método `melt()` no Pandas:**
A sintaxe do método `melt()` é a seguinte:

```python
pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', ...)
```

- **frame:** O DataFrame que será derretido.
- **id_vars:** Uma lista (ou único valor) das colunas que você deseja manter fixas, enquanto derrete as demais colunas.
- **value_vars:** Uma lista (ou único valor) das colunas que você deseja derreter (colunas a serem transformadas em linhas).
- **var_name:** O nome da nova coluna que conterá os nomes das colunas derretidas.
- **value_name:** O nome da nova coluna que conterá os valores das colunas derretidas.

**Exemplos de Utilização do Método `melt()` no Pandas:**

Vamos utilizar um exemplo simples para ilustrar o uso do método `melt()`. Suponha que temos um DataFrame com informações de alunos, onde cada coluna representa uma matéria e o valor em cada célula é a nota do aluno naquela matéria. O DataFrame está no formato wide, como segue:

```python
import pandas as pd

data = {
    'Nome': ['João', 'Maria', 'Pedro'],
    'Matemática': [80, 90, 70],
    'História': [70, 65, 80],
    'Geografia': [85, 75, 90]
}

df = pd.DataFrame(data)
print(df)
```

A saída será:

```
    Nome  Matemática  História  Geografia
0   João         80        70         85
1  Maria         90        65         75
2  Pedro         70        80         90
```

Agora, queremos derreter o DataFrame para transformá-lo em formato longo, onde cada linha representa a nota de um aluno em uma matéria específica. Podemos fazer isso usando o método `melt()` da seguinte forma:

```python
df_melted = df.melt(id_vars='Nome', value_vars=['Matemática', 'História', 'Geografia'], var_name='Matéria', value_name='Nota')
print(df_melted)
```

A saída será:

```
    Nome      Matéria  Nota
0   João  Matemática    80
1  Maria  Matemática    90
2  Pedro  Matemática    70
3   João     História    70
4  Maria     História    65
5  Pedro     História    80
6   João    Geografia    85
7  Maria    Geografia    75
8  Pedro    Geografia    90
```

Observamos que o DataFrame foi transformado em formato longo, com as colunas de matérias derretidas na coluna 'Matéria' e as notas na coluna 'Nota'.

O método `melt()` no pandas é uma ferramenta poderosa para reestruturar e organizar dados em DataFrames. Ele nos permite transformar um DataFrame no formato wide para o formato longo, facilitando análises e visualizações de dados. O `melt()` é especialmente útil quando queremos analisar dados com múltiplas variáveis ou categorias. Através de exemplos práticos, vimos como aplicar o `melt()` para melhorar a organização de dados e tornar as informações mais acessíveis.

O pandas é uma biblioteca extremamente versátil e o `melt()` é apenas uma das muitas funcionalidades poderosas disponíveis. Através da combinação de diferentes métodos do pandas, podemos realizar análises complexas e obter insights valiosos a partir de nossos dados.