Compartilhar via


Plotar histogramas no Python

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

Este artigo descreve como plotar os dados usando o pacote pandas'.hist() do Python. Um banco de dados do SQL Server é a origem usada para visualizar os intervalos de dados de histograma que têm valores consecutivos e não sobrepostos.

Prerequisites

Confirmar o banco de dados restaurado

É possível verificar se o banco de dados restaurado existe consultando a tabela Person.CountryRegion:

USE AdventureWorksDW;
SELECT * FROM Person.CountryRegion;

Instalar pacotes do Python

Baixe e instale o Azure Data Studio.

Instalar mssql-python

pip install mssql-python

Instalar outros pacotes

Instale os seguintes pacotes do Python usando o Azure Data Studio:

  1. No notebook do Azure Data Studio, selecione Gerenciar Pacotes.
  2. No painel Gerenciar Pacotes, selecione a guia Adicionar Novo.
  3. Para cada pacote a seguir, insira o nome do pacote, selecione Pesquisar e Instalar.
    • pandas
    • matplotlib

Plotar histograma

Os dados distribuídos exibidos no histograma baseiam-se em uma consulta SQL do AdventureWorksDW2025. O histograma visualiza os dados e a frequência dos valores de dados.

Edite as variáveis de cadeia de conexão: server, database, username e password, e conecte-se ao banco de dados do SQL Server.

Para criar um notebook:

  1. No Azure Data Studio, selecione Arquivo e escolha Novo Notebook.

  2. No notebook, selecione o kernel Python3 e escolha +code.

  3. Cole o código no notebook. Selecione Executar Tudo.

    from mssql_python import connect
    import pandas as pd
    import matplotlib
    
    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 = 'yourpassword'
    
    connection_string = f'Server={server};Database={database};UID={username};PWD={password};TrustServerCertificate=yes;'
    conn = connect(connection_string)
    
    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, conn)
    df.hist(bins=50)
    
    plt.show()
    conn.close()
    

A exibição mostra a distribuição etária de clientes na tabela FactInternetSales.

Diagrama mostrando a distribuição do histograma pandas.