Compartir por


Trazado de histogramas en Python

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

En este artículo se describe cómo trazar datos mediante el paquete de Python pandas'.hist (). Una base de datos SQL es el origen que se usa para visualizar los intervalos de datos del histograma que tienen valores consecutivos no superpuestos.

Requisitos previos

Comprobación de la base de datos restaurada

Para comprobar que la base de datos restaurada existe, consulte la tabla Person.CountryRegion:

USE AdventureWorksDW;
SELECT * FROM Person.CountryRegion;

Instalación de paquetes de Python

Descarga e instalación de Azure Data Studio.

Instale los siguientes paquetes de Python:

  • pyodbc
  • pandas
  • sqlalchemy
  • matplotlib

Para instalar estos paquetes:

  1. En el cuaderno de Azure Data Studio, seleccione Administrar paquetes.
  2. En el panel Administrar paquetes, seleccione la pestaña Agregar nuevo.
  3. Para cada uno de los paquetes siguientes, escriba el nombre del paquete, seleccione Buscar y, a continuación, seleccione Instalar.

Trazado del histograma

Los datos distribuidos que se muestran en el histograma están basados en una consulta SQL de AdventureWorksDW2022. El histograma visualiza los datos y la frecuencia de los valores de los mismos.

Edite las variables de cadena de conexión "Server", "Database", "Username" y "Password" para conectarse a la base de datos de SQL Server.

Para crear un nuevo cuaderno:

  1. En Azure Data Studio, seleccione Archivo y luego Nuevo cuaderno.
  2. En el bloc de notas, seleccione el kernel Python3 y luego el comando +Código.
  3. Pegue el código en el bloc de notas y seleccione Ejecutar todo.
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()

La pantalla muestra la distribución de edad de los clientes en la tabla FactInternetSales.

Diagrama que muestra la distribución del histograma de Pandas.