# Pandas table: Como formatar DataFrames em tabelas

No [Python Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas/), é possível usar DataFrames para **apresentar dados em formato de tabela**. Existem diversas formas de criar uma tabela no Pandas (Pandas table) para exibir conjuntos de dados de forma estruturada e clara.

## Exibir DataFrame como tabela no Pandas

Você pode exibir seu DataFrame como tabela no Pandas usando diferentes métodos. A seguir, vamos entender como criar essas tabelas utilizando as funções `print()`, `to_string()`, `style`, `to_html()` e `tabulate`.

### Abordagem padrão: `print()`

O **método mais fácil** para exibir um [DataFrame do Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/pandas-dataframe-em-python/) como tabela é usar a função print() em Python. Essa função retornará uma representação do DataFrame em formato de tabela:

```python
import pandas as pd
# Criar um exemplo de Pandas DataFrame table
data = {
    'Nome': ['Ana', 'Bruno', 'Carlos', 'Diana'],
    'Idade': [23, 30, 35, 29],
    'Profissão': ['Engenheira', 'Professor', 'Médico', 'Designer']
}
df = pd.DataFrame(data)
# Exibir o DataFrame como tabela
print(df)
```

Nesse caso, o DataFrame do Pandas será exibido como uma tabela simples no console. O resultado ficará assim:

```none
Nome  Idade   Profissão
0      Ana    23      Engenheira
1      Bruno   30    Professor
2     Carlos    35      Médico
3     Diana     29      Designer
```

Nota Se você usa o **Jupyter Notebook**, não será necessário executar a função `print()`. Ao **chamar** o DataFrame, ele será automaticamente exibido em formato de tabela.

### DataFrames completes: `to_string()`

A função `DataFrame.to_string()`, integrada ao Pandas, converte um **DataFrame em uma [string Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-string/ "String em Python")**, garantindo que o DataFrame seja exibido por completo, independentemente de seu tamanho. Vejamos como essa opção funciona com o mesmo exemplo acima:

```python
# Exibir o DataFrame completo como tabela
print(df.to_string())
```

Este será o resultado:

```none
Nome  Idade   Profissão
0      Ana       23      Engenheira
1      Bruno   30       Professor
2     Carlos    35     Médico
3     Diana     29      Designer
```

### Possibilidades de estilização: `style`

Por meio da propriedade `style`, o Pandas oferece um recurso integrado para realçar e formatar os DataFrames. No exemplo a seguir, destacaremos os valores máximos do conjunto de dados acima:

```python
# Exibir o DataFrame com os valores máximos em destaque
df.style.highlight_max(axis=0)
```

No Jupyter Notebook, o DataFrame será exibido com os maiores valores destacados.

### A melhor opção para frameworks web: `to_html()`

Com a função `DataFrame.to_html()`, você consegue representar o seu [DataFrame como tabela HTML](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/table-html/) fazendo apenas uma chamada. Esse procedimento facilita a incorporação de DataFrames diretamente nas aplicações web. Para fazer isso, basta executar a função no DataFrame:

```python
# Exibir o DataFrame como tabela HTML
html_table = df.to_html()
print(html_table)
```

Como resultado, será gerado um código HTML que poderá ser incorporado ao seu site:

```html
<table border="1" class="dataframe">
    <thead>
        <tr style="text-align: right;">
            <th></th>
            <th>Nome</th>
            <th>Idade</th>
            <th>Profissão</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>0</th>
            <td>Ana</td>
            <td>23</td>
            <td>Engenheira</td>
        </tr>
        <tr>
            <th>1</th>
            <td>Bruno</td>
            <td>30</td>
            <td>Professor</td>
        </tr>
        <tr>
            <th>2</th>
            <td>Carlos</td>
            <td>35</td>
            <td>Médico</td>
        </tr>
        <tr>
            <th>3</th>
            <td>Diana</td>
            <td>29</td>
            <td>Designer</td>
        </tr>
    </tbody>
</table>
```

Nota A função `DataFrame.to_markdown()` do Pandas funciona de maneira similar a `to_html()`. No entanto, ela produz um resultado em formato **Markdown, em vez de um código HTML**, que pode ser inserido em diversas ferramentas de documentação ou publicações.

### Opções flexíveis de formatação: `tabulate`

Com o módulo externo de Python `tabulate`, você consegue exibir DataFrames do Pandas em diferentes formatos tabulares. Alguns desses formatos incluem GitHub Flavored Markdown (GFM), reStructuredText e texto simples. É possível especificar o formato desejado com o parâmetro `tablefmt`. No exemplo abaixo, exibiremos o mesmo DataFrame acima no formato GitHub Markdown:

```python
from tabulate import tabulate
# Exibir o DataFrame como tabela no formato GitHub Markdown
print(tabulate(df, headers='keys', tablefmt='github'))
```

Este será o resultado:

```none
|  | Nome | Idade | Profissão |
| --- | --- | --- | --- |
| 0 | Ana | 23 | Engenheira |
| 1 | Bruno | 30 | Professor |
| 2 | Carlos | 35 | Médico |
| 3 | Diana | 29 | Designer |
```


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/pandas-dataframe-em-table/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/pandas-dataframe-em-table/) for AI/LLM consumption.