Como seguramente has escuchado, la integración entre Power BI y Python tiene como pre-requisito la instalación de dos de las librerías más conocidas de Python.
– Matplotlib: Librería de Python utilizada para generar visualizaciones de datos, junto con Numpy, su extensión matemática.
– Pandas: Librería de Python para el analisis y la manipulación de datos.
Para instalar éstos paquetes podemos utilizar la consola o una plataforma como conda, usando la linea de comando pip, de la siguiente forma:
!pip install matplotlib
!pip install pandas
Una vez hayamos instalado las librerias, debemos habilitar la Creación de Scripts de Python en Power BI por medio de los siguientes pasos:
1. Desde Power BI Desktop, vamos a Archivo > Opciones y configuración > Opciones > Creación de Scripts de Python. Emergerá la ventana Opciones de script de Python
En mi caso, podemos observar que varios tipos de directorios son detectados, debido a que en mi computador tengo instalado Anaconda y Python. Escojo el primero que corresponde a Python.
(Puedes acceder a los enlaces para obtener más información sobre la instalación de Python)
2. Seleccionamos Aceptar.
Ya estamos listos para correr códigos de Python en Power BI.
Ahora vamos a crear una pequeña base de datos utilizando scripts de Python para más adelante generar visualizaciones gráficas a partir de ella.
Para crear la base de datos, debemos seguir los siguientes pasos:
1. En el panel de Inicio, seleccionamos Obtener datos > Mas.. > Otras > Script de Python. Le damos click en Conectar.
Una vez emerge la ventana Script de Python podemos importar la librería pandas que instalamos anteriormente y a crear una base de datos utilizando el siguiente script, para más adelante generar las visualizaciones a partir de la misma.
import pandas as pd
Autos_ = [['Mazda',1600,1200,'Media','Cx5',2,4],
['Chevrolet',1400,1400,'Media','Optra',2,4],
['Renault',1200,1450,'Media','Sandero',4,2],
['BMW',1800,1100,'Alta','M3',2,2],
['Nissan',1400,1350,'Media','March',4,4],
['Audi',1800,1100,'Alta','Q7',2,4]]
Autos_Df = pd.DataFrame (Autos_, columns = ['Marca','Cilindros','Peso','Gama','Referencia','Ejes','Puertas'])
print(Autos_Df)
Después de digitar el script, damos click en aceptar. Se abrirá la ventana Navegador, en donde podremos seleccionar la base de Datos (Autos_Df) y damos click en Cargar.
Podemos observar en el panel de Campos que ya tenemos disponible la tabla Autos_Df.
Una vez creada nuestra pequeña base de datos, podemos empezar a crear las visualizaciones de la siguiente manera:
1. En el panel de Visualizaciones, seleccionamos Objeto Visual de Python
2. Arrastramos los campos de la tabla Autos_Df deseados a la sección de Valores.
Podemos observar en el Editor de scripts de Python, Power BI asigna el nombre predeterminado de dataset a los campos que hemos hemos seleccionado.
Power BI creará un set de datos con los campos que recién escogimos y le dará el nombre de dataset. Si deseamos, podemos cambiar éste nombre utilizando el siguiente script:
Autos_dataset = dataset
Ahora vamos a crear un Scatter Plot utilizando el siguiente código:
import matplotlib.pyplot as plt
Autos_dataset.plot(kind = 'bar', x = 'Marca', y = 'Peso')
plt.show()
De igual forma podemos utilizar las opciones que nos brinda la librería de Matplot para generar otros tipos de gráficos como los que se pueden observar a continuación:
Incluso podemos utilizar gráficos un poco más avanzados. El siguiente es un gráfico de correlación que generaremos a partir del código:
import matplotlib.pyplot as plt
alpha = ['Cilindros','Ejes','Peso', 'Puertas']
fig= plt.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(Autos_dataset.corr(), cmap =
plt.get_cmap('gray'))
fig.colorbar(cax)
plt.title("Correlation Graph")
ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)
plt.show()
El proceso y resultado final se verían de la siguiente manera:
Nuestro gráfico de correlación se ve de la siguiente forma:
No dudes en contactar a cualquier miembro del equipo si tienes alguna duda. Saludos.