Criar visuais do Power BI usando o PythonCreate Power BI visuals by using Python

Com o Power BI Desktop, é possível usar o Python para visualizar seus dados.With Power BI Desktop, you can use Python to visualize your data.

Pré-requisitosPrerequisites

Trabalhe com o tutorial Executar scripts Python no Power BI Desktop usando o seguinte script Python:Work through the Run Python scripts in Power BI Desktop tutorial using the following Python script:

import pandas as pd 
df = pd.DataFrame({ 
    'Fname':['Harry','Sally','Paul','Abe','June','Mike','Tom'], 
    'Age':[21,34,42,18,24,80,22], 
    'Weight': [180, 130, 200, 140, 176, 142, 210], 
    'Gender':['M','F','M','M','F','M','M'], 
    'State':['Washington','Oregon','California','Washington','Nevada','Texas','Nevada'],
    'Children':[4,1,2,3,0,2,0],
    'Pets':[3,2,2,5,0,1,5] 
}) 
print (df) 

O artigo Executar scripts do Python no Power BI Desktop mostra como instalar o Python em seu computador local e habilitá-lo para scripts do Python no Power BI Desktop.The Run Python scripts in Power BI Desktop article shows you how to install Python on your local machine and enable it for Python scripting in Power BI Desktop. Este tutorial usa dados do script acima para ilustrar a criação de visuais do Python.This tutorial uses data from the above script to illustrate creating Python visuals.

Criar Visuais do Python no Power BI DesktopCreate Python visuals in Power BI Desktop

  1. Selecione o ícone Visual do Python no painel Visualizações.Select the Python visual icon in the Visualizations pane.

    A opção Python em Visualizações

  2. Na caixa de diálogo Habilitar visuais de script que aparece, selecione Habilitar.In the Enable script visuals dialog box that appears, select Enable.

    Quando você adiciona um visual do Python a um relatório, o Power BI Desktop executa as seguintes ações:When you add a Python visual to a report, Power BI Desktop takes the following actions:

    • Uma imagem do visual do Python no espaço reservado aparece na tela de relatório.A placeholder Python visual image appears on the report canvas.

    • O editor de script Python aparece na parte inferior do painel central.The Python script editor appears along the bottom of the center pane.

    Executar o script no editor de scripts Python

  3. Em seguida, arraste os campos Idade, Crianças, Nome, Gênero, Animais de estimação, Estado e Peso para a seção Valores em que diz Adicionar campos de dados aqui.Next, drag the Age, Children, Fname, Gender, Pets, State, and Weight fields to the Values section where it says Add data fields here.

    Arrastar para Adicionar campos de dados aqui

    Seu script do Python só pode usar campos adicionados à seção Valores.Your Python script can only use fields added to the Values section. Você pode adicionar ou remover campos da seção Valores enquanto trabalha em seu script Python.You can add or remove fields from the Values section while working on your Python script. O Power BI Desktop detecta automaticamente as alterações de campo.Power BI Desktop automatically detects field changes.

    Observação

    O tipo de agregação padrão para visuais do Python é não resumir.The default aggregation type for Python visuals is do not summarize.

  4. Agora você pode usar os dados selecionados para plotar.Now you can use the data you selected to create a plot.

    Ao selecionar ou remover campos, o suporte de código no editor de script Python é automaticamente gerado ou removido.As you select or remove fields, supporting code in the Python script editor is automatically generated or removed.

    Com base nas suas seleções, o editor de script Python gerou o seguinte código de associação.Based on your selections, the Python script editor generates the following binding code.

    • O editor criou um dataframe de conjunto de dados com os campos que você adicionou.The editor created a dataset dataframe, with the fields you added.
    • A agregação padrão é: não resumir.The default aggregation is: do not summarize.
    • Semelhantes aos elementos visuais de tabela, os campos são agrupados e as linhas duplicadas aparecem somente uma vez.Similar to table visuals, fields are grouped and duplicate rows appear only once.

    Editor de scripts Python somente com comentários

    Dica

    Em certos casos, talvez você não queira que ocorra um agrupamento automático ou talvez queira exibir todas as linhas, incluindo duplicatas.In certain cases, you might not want automatic grouping to occur, or you'll want all rows to appear, including duplicates. Se for o caso, você poderá adicionar um campo de índice ao conjunto de dados que faz com que todas as linhas sejam consideradas exclusivas, impedindo o agrupamento.If so, you can add an index field to your dataset that causes all rows to be considered unique and which prevents grouping.

    Você pode acessar colunas no conjunto de dados usando seus respectivos nomes.You can access columns in the dataset using their respective names. Por exemplo, você pode codificar dataset["Age"] em seu script do Python para acessar o campo idade.For example, you can code dataset["Age"] in your Python script to access the age field.

  5. Com o dataframe gerado automaticamente pelos campos selecionados, você está pronto para escrever um script Python que resulta em plotar ao dispositivo padrão do Python.With the dataframe automatically generated by the fields you selected, you're ready to write a Python script that results in plotting to the Python default device. Quando o script estiver concluído, selecione Executar na barra de título do Editor de script do Python.When the script is complete, select Run from the Python script editor title bar.

    O Power BI Desktop plota novamente o visual se ocorrer qualquer um dos seguintes eventos:Power BI Desktop replots the visual if any of the following events occur:

    • Ao selecionar Executar na barra de título Editor de script PythonWhen you select Run from the Python script editor title bar
    • Sempre que ocorre uma alteração de dados, devido à atualização de dados, filtragem ou realceWhenever a data change occurs, due to data refresh, filtering, or highlighting

    Quando você executa um script do Python que resulta em um erro, o visual do Python não é plotado e uma mensagem de erro na tela é exibida.When you run a Python script that results in an error, the Python visual isn't plotted and a canvas error message appears. Para obter detalhes do erro, selecione Ver detalhes na mensagem.For error details, select See details from the message.

    Para obter uma exibição ampliada das visualizações, você pode minimizar a editor de script Python.To get a larger view of the visualizations, you can minimize the Python script editor.

Certo, vamos criar alguns visuais.Ok, let's create some visuals.

Criar um gráfico de dispersãoCreate a scatter plot

Vamos criar um gráfico de dispersão para ver se há uma correlação entre idade e peso.Let's create a scatter plot to see if there's a correlation between age and weight.

  1. Em Cole ou digite seu código de script aqui, insira este código:Under Paste or type your script code here, enter this code:

    import matplotlib.pyplot as plt 
    dataset.plot(kind='scatter', x='Age', y='Weight', color='red')
    plt.show() 
    

    O painel do editor de script do Python agora deve ser assim:Your Python script editor pane should now look like this:

    Editor de scripts Python com comandos

    A biblioteca matplotlib é importada para plotar e criar nossos visuais.The matplotlib library is imported to plot and create our visuals.

  2. Quando você seleciona o botão de script Executar, o seguinte gráfico de dispersão é gerado na imagem visual do Python do espaço reservado.When you select the Run script button, the following scatter plot generates in the placeholder Python visual image.

    Visualização gerada a partir do script Python

Criar um gráfico de linhas com várias colunasCreate a line plot with multiple columns

Vamos criar um gráfico de linhas para cada pessoa mostrando seu número de filhos e animais de estimação.Let's create a line plot for each person showing their number of children and pets. Remova ou comente o código em Colar ou digitar seu código de script aqui e insira este código Python:Remove or comment the code under Paste or type your script code here and enter this Python code:

import matplotlib.pyplot as plt 
ax = plt.gca() 
dataset.plot(kind='line',x='Fname',y='Children',ax=ax) 
dataset.plot(kind='line',x='Fname',y='Pets', color='red', ax=ax) 
plt.show() 

Quando você seleciona o botão de script Executar, o seguinte gráfico de linhas com várias colunas é gerado.When you select the Run script button, the following line plot with multiple columns generates.

Gráfico de linhas com várias colunas do script Python

Criar um gráfico de barrasCreate a bar plot

Vamos criar um gráfico de barras para a idade de cada pessoa.Let's create a bar plot for each person's age. Remova ou comente o código em Colar ou digitar seu código de script aqui e insira este código Python:Remove or comment the code under Paste or type your script code here and enter this Python code:

import matplotlib.pyplot as plt 
dataset.plot(kind='bar',x='Fname',y='Age') 
plt.show() 

Quando você seleciona o botão de script Executar, o gráfico de barras a seguir gera:When you select the Run script button, the following bar plot generates:

Gráfico de barras do script Python

SegurançaSecurity

Importante

Segurança de scripts do Python: os visuais do Python são criados com base em scripts Python, que podem conter códigos com riscos de segurança ou privacidade.Python scripts security: Python visuals are created from Python scripts, which could contain code with security or privacy risks. Ao tentar exibir ou interagir com um visual do Python pela primeira vez, o usuário recebe uma mensagem de aviso de segurança.When attempting to view or interact with an Python visual for the first time, a user is presented with a security warning message. Habilite visuais do Python somente se você confiar no autor e na fonte ou após examinar e compreender o script Python.Only enable Python visuals if you trust the author and source, or after you review and understand the Python script.

Mais informações sobre a plotagem com Matplotlib, Pandas e PythonMore information about plotting with Matplotlib, Pandas, and Python

Este tutorial foi criado para ajudá-lo a começar a criar visuais com o Python no Power BI Desktop.This tutorial is designed to help you get started creating visuals with Python in Power BI Desktop. Ele trata superficialmente as muitas opções e funcionalidades para criar relatórios visuais usando o Python, o Pandas e a biblioteca Matplotlib.It barely scratches the surface about the many options and capabilities for creating visual reports using Python, Pandas, and the Matplotlib library. Há muito mais informações por aí e aqui estão alguns links para você começar.There's a lot more information out there, and here are a few links to get you started.

Limitações conhecidasKnown limitations

Os visuais do Python no Power BI Desktop apresentam algumas limitações:Python visuals in Power BI Desktop have a few limitations:

  • Limitações de tamanho dos dados.Data size limitations. Os dados usados pelo visual do Python para plotar estão limitados a 150.000 linhas.Data used by the Python visual for plotting is limited to 150,000 rows. Se mais de 150.000 linhas forem selecionadas, somente as primeiras 150.000 linhas serão usadas e uma mensagem será exibida na imagem.If more than 150,000 rows are selected, only the top 150,000 rows are used and a message is displayed on the image. Além disso, os dados de entrada têm um limite de 250 MB.Additionally, the input data has a limit of 250 MB.
  • Resolução.Resolution. Todos os visuais do Python são exibidos com 72 DPI.All Python visuals are displayed at 72 DPI.
  • Limite de tempo de cálculo.Calculation time limitation. Se um cálculo do visual do Python exceder cinco minutos, a execução atingirá o tempo limite, resultando em um erro.If a Python visual calculation exceeds five minutes the execution times out which results in an error.
  • Relacionamentos.Relationships. assim como acontece com outros visuais do Power BI Desktop, se os campos de dados de tabelas diferentes sem uma relação definida entre eles forem selecionados, ocorrerá um erro.As with other Power BI Desktop visuals, if data fields from different tables with no defined relationship between them are selected, an error occurs.
  • Visuais do Python são atualizados após atualizações de dados, filtragem e realce.Python visuals are refreshed upon data updates, filtering, and highlighting. No entanto, a própria imagem não é interativa e não pode ser a origem da filtragem cruzada.However, the image itself isn't interactive and can't be the source of cross-filtering.
  • Visuais do Python respondem ao realce de outros elementos visuais, mas você não pode clicar em elementos no visual do Python para fazer filtragem cruzada de outros elementos.Python visuals respond to highlighting other visuals, but you can't click on elements in the Python visual to cross filter other elements.
  • Somente plotagens realizadas no dispositivo de vídeo padrão do Python são exibidos corretamente na tela.Only plots that are plotted to the Python default display device are displayed correctly on the canvas. Evite o uso explícito de um dispositivo de vídeo diferente do Python.Avoid explicitly using a different Python display device.
  • Os visuais do Python não dão suporte à renomeação de colunas de entrada.Python visuals do not support renaming input columns. As colunas serão referenciadas pelo nome original durante a execução do script.Columns will be referred to by their original name during script execution.

Próximas etapasNext steps

Dê uma olhada nas informações adicionais a seguir sobre o Python no Power BI.Take a look at the following additional information about Python in Power BI.