Bagikan melalui


Memplot histogram di Python

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Artikel ini menjelaskan cara memplot data menggunakan paket Python pandas'.hist(). Database SQL Server adalah sumber yang digunakan untuk memvisualisasikan interval data histogram yang memiliki nilai berturut-turut dan tidak tumpang tindih.

Prerequisites

Memverifikasi database yang dipulihkan

Anda bisa memverifikasi bahwa database yang dipulihkan ada dengan mengkueri Person.CountryRegion tabel:

USE AdventureWorksDW;
SELECT * FROM Person.CountryRegion;

Memasang paket Python

Unduh dan Instal Azure Data Studio.

Instal paket Python berikut:

  • pyodbc
  • pandas
  • sqlalchemy
  • matplotlib

Untuk menginstal paket ini:

  1. Di buku catatan Azure Data Studio Anda, pilih Kelola Paket.
  2. Di panel Kelola Paket , pilih tab Tambahkan baru .
  3. Untuk setiap paket berikut, masukkan nama paket, pilih Cari, lalu pilih Instal.

Plot histogram

Data terdistribusi yang ditampilkan dalam histogram didasarkan pada kueri SQL dari AdventureWorksDW2025. Histogram memvisualisasikan data dan frekuensi nilai data.

Edit variabel string koneksi: server, , database, usernamedan password untuk menyambungkan ke database SQL Server.

Untuk membuat buku catatan baru:

  1. Di Azure Data Studio, pilih File, pilih Buku Catatan Baru.

  2. Di notebook, pilih kernel Python3, pilih +code.

  3. Tempelkan kode di buku catatan. Pilihlah Jalankan Semua.

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

Tampilan menunjukkan distribusi usia pelanggan dalam FactInternetSales tabel.

Diagram memperlihatkan distribusi histogram Pandas.