Memplot histogram di Python
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Artikel ini menjelaskan cara memplot data menggunakan paket Python pandas'.hist(). Database SQL adalah sumber yang digunakan untuk memvisualisasikan interval data histogram yang memiliki nilai berturut-turut dan tidak tumpang tindih.
Prasyarat
SQL Server Management Studio untuk memulihkan database sampel ke Azure SQL Managed Instance.
Azure Data Studio. Untuk menginstal, lihat Azure Data Studio.
Pulihkan sampel database DW untuk mendapatkan data sampel yang digunakan dalam artikel ini.
Memverifikasi database yang dipulihkan
Anda bisa memverifikasi bahwa database yang dipulihkan ada dengan mengkueri tabel Person.CountryRegion :
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:
- Di buku catatan Azure Data Studio Anda, pilih Kelola Paket.
- Di panel Kelola Paket , pilih tab Tambahkan baru .
- 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 AdventureWorksDW2022
. Histogram memvisualisasikan data dan frekuensi nilai data.
Edit variabel string koneksi: 'server', 'database', 'nama pengguna', dan 'kata sandi' untuk menyambungkan ke database SQL Server.
Untuk membuat buku catatan baru:
- Di Azure Data Studio, pilih File, pilih Buku Catatan Baru.
- Di notebook, pilih kernel Python3, pilih +code.
- Tempel kode di buku catatan, pilih 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.