# Tabella in Pandas: formattare i DataFrame come tabelle

È possibile usare un DataFrame di [Pandas per Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/pandas-di-python/) per rappresentare **dati sotto forma di tabella**. Per rappresentare record di dati in Pandas in modo chiaro e strutturato sotto forma di tabella esistono varie possibilità.

## Visualizzazione standard di un Data Frame Pandas sotto forma di tabella

Il **metodo più semplice** per visualizzare un [DataFrame di Pandas](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/dataframe-in-pandas-per-python/) sotto forma di tabella è usare la [funzione Pythonprint()](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/python-print/). In questo modo si ottiene il DataFrame sotto forma di tabella:

```python
import pandas as pd
# Creare un DataFrame di esempio
data = {
    'Nome': ['Anna', 'Giorgio', 'Carlo', 'Luisa'],
    'Età': [23, 30, 35, 29],
    'Professione': ['Ingegnere', 'Insegnante', 'Medico', 'Grafico']
}
df = pd.DataFrame(data)
# Visualizzare Data Frame sotto forma di tabella
print(df)In questo caso, il DataFrame di Pandas è visualizzato sotto forma di semplice tabella nella console. L’output della tabella è il seguente:
```

```none
Nome        Età            Professione
```

0 Anna 23 Ingegnere 1 Giorgio 30 Insegnante 2 Carlo 35 Medico 3 Luisa 29 Grafico

```none
<box-hinweis>
Se usi **[Notebook Jupyter](t3://page?uid=2063)** per visualizzare un DataFrame di Pandas sotto forma di tabella non hai bisogno nemmeno della funzione `print(). **Una semplice chiamata** del DataFrame sarà sufficiente per rappresentarlo sotto forma di tabella.
</box-hinweis>
## Visualizzazione con `to_string()per ottenere il pieno controllo
La funzione integrata di Pandas `DataFrame.to_string()trasforma un **DataFrame in una [stringa in Python](t3://page?uid=3826)**. Permette di visualizzare l’intero DataFrame di Pandas sotto forma di tabella, anche se questa contiene molti dati. Di seguito esaminiamo lo stesso DataFrame utilizzato nel primo esempio:
```python
# Visualizzare Data Frame sotto forma di tabella
print(df.to_string())Questo l’output risultante:
```

</div><div class="prism-container position-relative my-4" data-ctype="commonmark_content">```none
Nome      Età      Professione
```

</div>0 Anna 23 Ingegnere 1 Giorgio 30 Insegnante 2 Carlo 35 Medico 3 Luisa 29 Grafico

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```none
## Uso di `style` per formattare una tabella
Pandas offre anche un’opzione integrata per applicare colore e formattazione ai DataFrame: la proprietà `style`. Nello snippet di codice sottostante, i valori massimi del set di dati verranno evidenziati con colori diversi:
```python
# Visualizzare il DataFrame con valori massimi evidenziati
df.style.highlight_max(axis=0)In un Notebook Jupyter, il DataFrame viene visualizzato con i valori massimi evidenziati con colori diversi.
### Usare to_html() per framework web
Con `DataFrame.to_html()puoi rappresentare il tuo DataFrame sotto forma di tabella HTML mediante una sola chiamata di funzione, che può essere integrata direttamente nelle applicazioni web. A tal proposito è sufficiente richiamare la funzione sul DataFrame:
```python
# Visualizzare Data Frame sotto forma di tabella HTML
html_table = df.to_html()
print(html_table)Il risultato sarà un codice HTML, che potrai integrare nei tuoi siti web.
```html
<table border="1" class="dataframe">
    <thead>
        <tr style="text-align: right;">
            <th></th>
            <th>Nome</th>
            <th>Età</th>
            <th>Professione</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>0</th>
            <td>Anna</td>
            <td>23</td>
            <td>Ingegnere</td>
        </tr>
        <tr>
            <th>1</th>
            <td>Giorgio</td>
            <td>30</td>
            <td>Insegnante</td>
        </tr>
        <tr>
            <th>2</th>
            <td>Carlo</td>
            <td>35</td>
            <td>Medico</td>
        </tr>
        <tr>
            <th>3</th>
            <td>Luisa</td>
            <td>29</td>
            <td>Grafico</td>
        </tr>
    </tbody>
</table>
```

N.B. La funzione Pandas `DataFrame.to_markdown()funziona in modo simile a`to\_html(). Come risultato si ottiene, invece di **un codice HTML, un output in formato [markdown](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/markdown/)**, che può essere usato con numerosi strumenti di documentazione o inserito nei blog.

## Uso di `tabulate` per vari tipi di tabelle

Il modulo esterno Python `tabulate` può essere utilizzato per visualizzare i DataFrame di Pandas in diversi formati tabellari. Tra i formati supportati ci sono GitHub Flavoured Markdown, reStructuredText e testo semplice. Il formato desiderato può essere specificato tramite il parametro `tablefmt`. Di seguito, il DataFrame viene visualizzato come markdown di GitHub:

```python
from tabulate import tabulate
# Visualizzare DataFrame sotto forma di tabelle in formato markdown
print(tabulate(df, headers='keys', tablefmt='github))Questo il risultato:
```

<table>
  <thead>
    <tr>
      <th></th>
      <th>Nome</th>
      <th>Età</th>
      <th>Professione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0</td>
      <td>Anna</td>
      <td>23</td>
      <td>Ingegnere</td>
    </tr>
    <tr>
      <td>1</td>
      <td>Giorgio</td>
      <td>30</td>
      <td>Insegnante</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Carlo</td>
      <td>35</td>
      <td>Medico</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Luisa</td>
      <td>29</td>
      <td>Grafico</td>
    </tr>
  </tbody>
</table>

```none

```


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tabella-dataframe-di-pandas-per-python/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tabella-dataframe-di-pandas-per-python/) for AI/LLM consumption.