Rita histogram i Python

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Den här artikeln beskriver hur du ritar data med hjälp av Python-paketet pandas'.hist(). En SQL Server-databas är källan som används för att visualisera histogrammets dataintervall som har efterföljande, icke-överlappande värden.

Prerequisites

Verifiera återställd databas

Du kan kontrollera att den återställde databasen finns genom att fråga tabellen Person.CountryRegion :

USE AdventureWorksDW;
SELECT * FROM Person.CountryRegion;

Installera Python-paket

Ladda ned och installera Azure Data Studio.

Installera följande Python-paket:

  • pyodbc
  • pandas
  • sqlalchemy
  • matplotlib

Så här installerar du följande paket:

  1. I din Azure Data Studio-anteckningsbok väljer du Hantera paket.
  2. I fönstret Hantera paket väljer du fliken Lägg till ny .
  3. För vart och ett av följande paket anger du paketnamnet, väljer Sök och väljer sedan Installera.

Rita histogram

De distribuerade data som visas i histogrammet baseras på en SQL-fråga från AdventureWorksDW2025. Histogrammet visualiserar data och datavärdenas frekvens.

Redigera anslutningssträngvariablerna: server, database, usernameoch password för att ansluta till SQL Server-databasen.

Så här skapar du en ny notebook-fil:

  1. I Azure Data Studio väljer du Arkiv, ny anteckningsbok.

  2. I anteckningsboken väljer du kernel Python3 och klickar på +code.

  3. Klistra in kod i notebook-filen. Välj Kör alla.

    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()
    

Visningen visar åldersfördelningen för kunder i FactInternetSales tabellen.

Diagram som visar Pandas histogramdistribution.