Descubra as vantagens da automatização do Power BI com Python: visualizações surpreendentes, manipulação de dados fácil e organização otimizada.
A análise e organização de dados empresariais está se tornando um desafio crescente devido ao aumento constante da geração de dados ao redor do mundo. Com isso, as ferramentas de Business Intelligence (BI) se sobressaem por apresentar soluções modernas para análise e visualização de dados.
Dentre elas, o Power BI se destaca pela sua eficiência e facilidade de uso, pois esse software pode ser facilmente compreendido até mesmo pelos usuários mais leigos em computação. Mas, apesar de ser muito útil e prático, os usuários de Power BI às vezes precisam automatizar rapidamente suas bases de dados sem precisar de importações pesadas para o arquivo ou até lidar com um uma complexidade excessiva nas tabelas e medidas da sua estrutura. Felizmente, com a linguagem Python, esses problemas podem ser resolvidos e ainda oferecer uma infinidade de outras soluções de manipulação e visualização de dados, utilizando suas bibliotecas para otimizar suas análises e dashboards.
Portanto, neste artigo, vamos mostrar como automatizar o Power BI com Python e quais são as vantagens dessa integração na prática. Vamos nessa!
O que é Python?
Python é uma linguagem de programação que vem ganhando popularidade nos últimos anos por ser uma das linguagens mais fáceis de se aprender, sendo a favorita dos “não programadores”.
Sua versatilidade permite que seja utilizada para diversos propósitos, desde algoritmos de recomendação da Netflix até softwares de controle de carros autônomos. Além disso, Python pode ser usado em desenvolvimento web, teste de software, automação de tarefas, análise de dados e machine learning. Porém, o foco deste artigo será em automação e uso de dados.
Seu primeiro projeto Python – curso grátis com certificado!
Vá do zero ao primeiro projeto em apenas 2 horas com o curso Python para Iniciantes.
Comece agoraQuais são as vantagens de integrar Python com Power BI?
Ao integrar o Python com Power BI, você terá todo o acervo de possibilidades do Python em suas mãos. Ou seja, poderá utilizar todas as bibliotecas de manipulação e visualização de dados dessa linguagem, além de criar modelos de machine learning (aprendizado de máquina) e importar os resultados para seus dashboards.
Vejamos mais detalhadamente a seguir as reais possibilidades que essa integração nos dá.
1. Web Scraping
Web Scraping é uma técnica de extração de dados na web de forma automatizada. Em resumo, é o ato de copiar e colar informações de um site para uma planilha, mas de maneira automática e mais eficiente. Assim, podemos utilizá-lo para extrair milhões de linhas de um site de uma única vez.
Abaixo, temos um código bem simples de web scraping que permite a extração do valor de algumas ações em tempo real. Não iremos nos aprofundar em web scraping neste artigo, mas, caso tenha interesse, a Asimov Academy tem uma trilha completa sobre automações de escritório, com diversos exemplos para você explorar e usar em seus dashboards.
import requests
from bs4 import BeautifulSoup
import pandas as pd
urls = [
'https://www.investing.com/equities/nike',
'https://www.investing.com/equities/coca-cola-co',
'https://www.investing.com/equities/microsoft-corp',
'https://www.investing.com/equities/3m-co',
'https://www.investing.com/equities/american-express',
]
all=[]
for url in urls:
page = requests.get(url,headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
company = soup.find('h1', {'class': 'text-2xl font-semibold instrument-header_title__gCaMF mobile:mb-2'}).text
price = soup.find('div', {'class': 'instrument-price_instrument-price__xfgbB flex items-end flex-wrap font-bold'}).find_all('span')[0].text
change = soup.find('div', {'class': 'instrument-price_instrument-price__xfgbB flex items-end flex-wrap font-bold'}).find_all('span')[2].text
volume=soup.find('div',{'class': 'trading-hours_value__5_NnB'}).text
x=[company,price,change,volume]
all.append(x)
column_names = ["Company", "Price", "Change","Volume"]
df = pd.DataFrame(columns = column_names)
for i in all:
index=0
df.loc[index] = i
df.index = df.index + 1
df=df.reset_index(drop=True)
Vale lembrar que o Power BI já possui uma ferramenta para extrair dados da web. Porém, com Python essa extração é muito mais rápida e eficiente, possibilitando consultar centenas de páginas em questão de segundos, além de oferecer mais liberdade para manipular as informações, já que podemos extrair cada pixel da tela com o scraping.
2. Machine Learning
É um ramo da inteligência artificial que, por meio de algoritmos, dá aos computadores a capacidade de identificar padrões em grandes volumes de dados e fazer previsões com eles. O Python é um grande aliado do machine learning e da inteligência artificial como um todo, contendo diversas bibliotecas úteis para sua aplicação.
Ao integrar Python ao Power BI, você poderá incorporar essas poderosas ferramentas aos seus dashboards. Mais adiante neste artigo, mostraremos um exemplo bem interessante de uso.
3. Seaborn
O Python possui uma biblioteca para visualização de dados chamada Seaborn, focada em visualizações estatísticas de alto nível. Ela é uma boa opção para quem já esgotou as possibilidades gráficas do Power BI e quer apresentar algo diferente e chamativo, pois além de apresentar gráficos com muito estilo, o Seaborn é fácil de integrar aos scripts de machine learning.
Para ver a vasta variedade de gráficos da biblioteca, basta acessar sua documentação e explorá-la ao máximo.
O Power BI possui uma visualização chamada Visual Python. Com ela, é possível criar visuais com scripts Python, assim você consegue testar de maneira bem fácil a biblioteca Seaborn.
4. Pandas
Pandas é uma poderosa ferramenta de manipulação de dados do Python, pois possibilita alterar seus dados de forma mais rápida e eficiente do que as linguagens DAX e M do Power BI.
5. Organização das tabelas
Se você já experimentou lidar com diversas tabelas e medidas no Power BI e teve que reorganizar toda a estrutura cada vez que um novo dado era incluso, provavelmente sabe como isso pode se tornar um caos desordenado. Bem, com o Python, isso tudo se torna mais simples, já que a organização dos dados fica toda no script (o Pandas auxilia muito nisso) e, além de ser mais eficiente, também torna mais simples a disposição das informações, requerendo o mínimo de esforço possível para criar seus visuais.
Como instalar o Python
Agora que você já viu as vantagens de integrar Python com Power BI, é hora de colocar a mão na massa!
Primeiramente, baixe a última versão para seu sistema operacional do instalador do Python.
Na instalação, certifique-se de marcar a opção “Add python.exe to PATH”.
Após isso, selecione a opção Install Now e aguarde.
Para verificar se a instalação foi bem-sucedida, abra o Prompt de Comando. Para isso, procure por cmd no menu iniciar.
Digite o seguinte comando no terminal:
python --version
Se tudo correr bem com a instalação, o terminal retornará a versão instalada do Python.
Ainda com o terminal aberto, instale duas bibliotecas que você precisará quando for utilizar o Python no Power BI: Pandas e Matplotlib. Para isso, digite as linhas de código abaixo, uma de cada vez:
pip install pandas matplotlib
Como integrar Python com Power BI
Com o Python instalado na sua máquina, podemos integrá-lo ao Power BI. Para começar, vamos habilitar os scripts Python.
Com o seu arquivo aberto, acesse Arquivo → Opções e Configurações → Opções → Scripts do Python. Em Diretórios base do Python detectados, selecione o diretório no qual o Python está instalado, mas caso não esteja entre as opções, selecione Outro e navegue até o local do arquivo.
Para importar um script do Python, acesse Obter dados → Mais opções → Script do Python.
A partir daqui, escreva seu script Python no quadro e siga os mesmos passos de qualquer outra importação de base de dados do Power BI.
Algoritmos de Machine Learning na prática
Como foi visto anteriormente, uma das vantagens de se utilizar Python é aplicar algoritmos de machine learning em nossos projetos. No script abaixo, temos um algoritmo de machine learning para predição de preços de uma determinada ação a partir de um dataset com dados históricos.
# importando as bibliotecas
import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import Dense, Dropout, LSTM
# criando o dataframe
df = pd.read_csv('NSE-TATAGLOBAL11.csv', sep=',')
data = df.sort_index(ascending=True, axis=0)
new_data = pd.DataFrame(index=range(0,len(df)),columns=['Date', 'Close'])
for i in range(0,len(data)):
new_data['Date'][i] = data['Date'][i]
new_data['Close'][i] = data['Close'][i]
# setando o index
new_data.index = new_data.Date
new_data.drop('Date', axis=1, inplace=True)
# criando a base de treino e test
dataset = new_data.values
train = dataset[0:987,:]
valid = dataset[987:,:]
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_data = scaler.fit_transform(dataset)
x_train, y_train = [], []
for i in range(60,len(train)):
x_train.append(scaled_data[i-60:i,0])
y_train.append(scaled_data[i,0])
x_train, y_train = np.array(x_train), np.array(y_train)
x_train = np.reshape(x_train, (x_train.shape[0],x_train.shape[1],1))
# setando o modelo
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(x_train.shape[1],1)))
model.add(LSTM(units=50))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(x_train, y_train, epochs=1, batch_size=1, verbose=2)
inputs = new_data[len(new_data) - len(valid) - 60:].values
inputs = inputs.reshape(-1,1)
inputs = scaler.transform(inputs)
X_test = []
for i in range(60,inputs.shape[0]):
X_test.append(inputs[i-60:i,0])
X_test = np.array(X_test)
X_test = np.reshape(X_test, (X_test.shape[0],X_test.shape[1],1))
closing_price = model.predict(X_test)
closing_price = scaler.inverse_transform(closing_price)
# dados de treino e predição
train = new_data[:987]
valid = new_data[987:]
Com o script importado no Power BI, basta criar os mais diversos gráficos para seu dashboard.
Se você se sentir encorajado a investigar o mundo da ciência de dados e machine learning, confira a Trilha Data Science e Machine Learning da nossa escola de Python. Nela, temos diversos projetos, desde análise de ações e previsão de vendas até precificação imobiliária e previsão de doenças cardíacas.
Ademais, se Python com Power BI não for o suficiente para você, acesse nossos demais conteúdos sobre Dashboards Interativos com os mais diversos projetos para você expandir seus conhecimentos.
Cursos de programação gratuitos com certificado
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
- Conteúdos gratuitos
- Projetos práticos
- Certificados
- +20 mil alunos e comunidade exclusiva
- Materiais didáticos e download de código
Comentários