Condividi tramite


Tracciare istogrammi in Python

Si applica a:SQL ServerAzure SQL DatabaseAzure SQL Istanza gestitaDatabase SQL in Microsoft Fabric

Questo articolo descrive come tracciare un grafico dei dati usando il pacchetto Python pandas'.hist(). Un database di SQL Server è l'origine utilizzata per visualizzare gli intervalli di dati dell'istogramma con valori consecutivi, non sovrapposti.

Prerequisites

Verificare il database ripristinato

È possibile verificare che il database ripristinato esista eseguendo una query sulla Person.CountryRegion tabella:

USE AdventureWorksDW;
SELECT * FROM Person.CountryRegion;

Installare i pacchetti Python

Scaricare e installare Azure Data Studio.

Installare i pacchetti Python seguenti:

  • pyodbc
  • pandas
  • sqlalchemy
  • matplotlib

Per installare questi pacchetti:

  1. Nel notebook di Azure Data Studio selezionare Gestisci pacchetti.
  2. Nel riquadro Gestisci pacchetti selezionare la scheda Aggiungi nuovo.
  3. Per ognuno dei seguenti pacchetti immettere il nome del pacchetto, selezionare Cerca, quindi selezionare Installa.

Traccia istogramma

I dati distribuiti visualizzati nell'istogramma sono basati su una query SQL di AdventureWorksDW2025. L'istogramma visualizza i dati e la frequenza dei valori dei dati.

Modificare le variabili della stringa di connessione: server, database, usernamee password per connettersi al database di SQL Server.

Per creare un nuovo notebook:

  1. In Azure Data Studio selezionare File e quindi Nuovo notebook.

  2. Nel notebook selezionare il kernel Python3 e quindi +Codice.

  3. Incollare il codice nel notebook. Selezionare Esegui tutti.

    import pyodbc 
    import pandas as pd
    import matplotlib
    import sqlalchemy
    
    from sqlalchemy import create_engine
    
    matplotlib.use('TkAgg', force=True)
    from matplotlib import pyplot as plt
    
    # Some other example server values are
    # server = 'localhost\sqlexpress' # for a named instance
    # server = 'myserver,port' # to specify an alternate port
    server = 'servername'
    database = 'AdventureWorksDW2022'
    username = 'yourusername'
    password = 'databasename'
    
    url = 'mssql+pyodbc://{user}:{passwd}@{host}:{port}/{db}?driver=SQL+Server'.format(user=username, passwd=password, host=server, port=port, db=database)
    engine = create_engine(url)
    
    sql = "SELECT DATEDIFF(year, c.BirthDate, GETDATE()) AS Age FROM [dbo].[FactInternetSales] s INNER JOIN dbo.DimCustomer c ON s.CustomerKey = c.CustomerKey"
    
    df = pd.read_sql(sql, engine)
    df.hist(bins=50)
    
    plt.show()
    

Il grafico mostrerà la distribuzione dell'età dei clienti nella tabella FactInternetSales.

Diagramma che mostra la distribuzione dell'istogramma di Pandas.