Descubre la magia de Python en las visualizaciones de power BI
¡Saludos, entusiasta del análisis de datos! Hoy te traemos un viaje emocionante por el mundo de las visualizaciones en Power BI, pero con un toque especial: ¡la integración de Python! Efectivamente, Python no es solo una herramienta robusta para el análisis de datos; también se revela como un aliado poderoso en Power BI para crear visualizaciones impresionantes y detalladas. Utilizando nuestro Modelo de Datos de Mascotas como nuestra área de exploración, vamos a profundizar en los diversos tipos de gráficos que se pueden construir con Python y cómo cada uno puede aportar riqueza y claridad a nuestras historias de datos.
Además, Python se convierte en tu aliado clave cuando se trata de generar visualizaciones más especializadas y alineadas con el mundo de las ciencias de datos o la minería de datos, una experiencia similar a lo que logramos con los scripts en R, que abordaremos más adelante en otra publicación.
Tabla de contenidos
📌 Nota importante: Para aprovechar al máximo estas capacidades, es esencial tener Python ya instalado en tu ordenador. Aunque actualmente no disponemos de un tutorial paso a paso para su instalación, estamos trabajando para incluirlo pronto en nuestras futuras publicaciones, ampliando así el alcance a otros campos del conocimiento que queremos entregarte.
Primero que todo: El concepto básico de los códigos en Power BI
Ya es bien sabido que Power BI es una herramienta sumamente versátil, capaz de adaptarse y satisfacer nuestras necesidades, aunque esto a veces implique un esfuerzo adicional de nuestra parte. En este segmento, nos enfocaremos en la manera más básica de integrar Python en Power BI: a través de las visualizaciones directamente en la plataforma. Esta capacidad es verdaderamente revolucionaria, ya que no solo compila el código que proporcionamos, sino que también se encarga de crear automáticamente los datasets a partir de nuestros datos. Con este enfoque, únicamente necesitamos ingresar los campos que vamos a utilizar y el código se encarga del resto.
![Integración de python en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Integracion-de-python-en-Power-BI.png)
Además, en este artículo sobre el uso de Python en Power BI, emplearemos un modelo de datos específico: el Modelo de Datos de Mascotas. Este modelo, aunque ficticio, ofrece una representación detallada y práctica que facilita la comprensión de cómo se pueden aplicar las distintas técnicas disponibles en Power BI. Te invitamos a acceder al modelo y descargarlo en el siguiente link: Modelo de Datos de Mascotas.
Capítulo 1: Gráficos en Power BI - Trazando el conocimiento
Imaginemos que queremos analizar el número de mascotas por edad en nuestra base de datos ficticia de mascotas. Aquí, un amplio abanico de gráficos en Python dentro de Power BI puede representar de manera óptima este conjunto de datos. Con Python, es posible trazar líneas suaves y precisas que muestran tendencias y patrones en los datos de mascotas. Estos gráficos son perfectos para visualizar cambios y evoluciones, permitiéndonos narrar la historia del progreso en el tiempo de manera clara y comprensible.
Pasos
-
1Habilitando visualizaciones con Python en power BIUna vez asegurado que Python está instalado en nuestro ordenador, el siguiente paso es habilitar la ejecución de scripts de Python en Power BI. Nos dirigimos al menú “Opciones y Configuración”, luego a “Opciones”. Dentro, encontramos el menú “Creación de Scripts en Python”, donde debemos verificar que el directorio raíz de Python instalado coincida con el detectado automáticamente por Power BI. Así, quedaremos preparados para empezar a ejecutar nuestros scripts de Python.
![Menú “Creación de Scripts en Python”](https://academiadeldato.com/wp-content/uploads/2024/01/Opciones-de-script-de-python.png)
-
2Creación de una nueva visualización con PythonPrimero, creamos un nuevo objeto visual de Python en Power BI, lo que nos presentará una visualización junto con el editor de scripts de Python, uno sobre el otro.
![un nuevo objeto visual de Python en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Creacion-de-un-nuevo-objeto-visual-de-Python-en-Power-BI-1024x449.png)
-
3Añadiendo campos a la visualizaciónEn este paso, incorporaremos los dos campos mencionados anteriormente: la Edad y el ID_Mascota. Con el ID_Mascota realizaremos un recuento distintivo, ya que, siendo un identificador único para cada registro, nos proporcionará el número exacto de mascotas en nuestra base de datos.
![campos a la visualización](https://academiadeldato.com/wp-content/uploads/2024/01/Incorporando-campos-a-la-visualizacion.png)
-
4Instalación de librerías necesariasPara los ejemplos que mostraremos hoy, usaremos tres librerías que facilitan la creación de gráficos en Python en nuestro lienzo de Power BI. Te proporcionamos los códigos para ejecutar en tu consola de comandos de Windows, a la que puedes acceder a través del menú de inicio escribiendo “cmd” o “símbolos del sistema”. Si ya estás familiarizado con esta herramienta o ya tienes instaladas estas librerías, puedes omitir este paso.
pip install matplotlib
pip install numpy
pip install scipy
Con estos pasos completados, estamos listos para avanzar al siguiente capítulo, donde exploraremos los gráficos y sus códigos, permitiéndote poner en práctica lo aprendido y crear tus propias visualizaciones, ya sea con este modelo o con otro.
Capítulo 2: Generación de gráficos en Python y sus códigos
Llegó el momento de pasar a la acción, es hora de ver en la práctica lo que Python puede lograr dentro de Power BI. Para los familiarizados con Python y Power BI, esto representa la oportunidad de descubrir una nueva herramienta en su ecosistema habitual. En cambio, para aquellos inmersos en Power BI pero nuevos en el análisis de datos con Python, esto supone un emocionante aprendizaje que ampliará sus capacidades y les permitirá crear visualizaciones variadas.
Gráfico número 1: Gráfico de barras
Exploraremos cómo se construye este gráfico. Analizaremos el código Python paso a paso, ya que Power BI facilita la creación del dataset, eliminando la necesidad de llamar directamente a la tabla (el código se acompaña de comentarios detallados para una comprensión clara).
# Primer Paso: Importamos las librerías necesarias para generar el gráfico de barras
import matplotlib.pyplot as plt
# Segundo Paso: El "dataset" (Representación de las tablas que existen en nuestra base de datos, es creado automáticamente por Power BI en base a los campos que has añadido)
# Tercer Paso: Configuramos el gráfico de barras en sus dos ejes (X e Y) con los correspondientes datasets.
plt.bar(dataset['Edad'],dataset['ID_Mascota'])
# Cuarto Paso: Añadimos los títulos a los ejes X, Y, y al gráfico en general
plt.xlabel('Edad')
plt.ylabel('Numero de Mascotas')
plt.title('Número de Mascotas por Edad')
# Último Paso: Mostramos el gráfico
plt.show()
![Gráfico de barras en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Grafico-de-barras-en-Power-BI-1024x582.png)
Gráfico número 2: Gráfico boxplot
# Primer Paso: Importamos las librerías necesarias para generar el gráfico de barras
import matplotlib.pyplot as plt
# Segundo Paso: El "dataset" (Representación de las tablas que existen en nuestra base de datos, es creado automáticamente por Power BI en base a los campos que has añadido)
# Tercer Paso: Configuramos el gráfico boxplot en su eje principal
plt.boxplot(dataset['Edad'])
# Cuarto Paso: Añadimos título al eje y al gráfico en general
plt.title('Distribución de la Edad de las mascotas')
plt.ylabel('Edad')
# Último Paso: Mostramos el gráfico
plt.show()
![Gráfico boxplot en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Grafico-boxplot-en-Power-BI-1024x577.png)
Gráfico número 3: Gráfico de áreas
# Primer Paso: Importamos las librerías necesarias para generar el gráfico de barras
import matplotlib.pyplot as plt
# Segundo Paso: Ahora vamos a ordenar los datos por edad, esto es más que nada para cerciorarnos que la edad se ordene de manera correcta
dataset.sort_values('Edad',inplace = True)
# Tercer Paso: Ahora configuramos el gráfico de áreas
plt.fill_between(dataset['Edad'],dataset['ID_Mascota'])
# Cuarto Paso: Añadimos los títulos a los ejes X, Y, y al gráfico en general
plt.title('Número de mascotas a lo largo de la edad')
plt.xlabel('Edad')
plt.ylabel('Número de Mascotas')
# Mostramos el gráfico
plt.show()
![Gráfico de área en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Grafico-de-area-en-Power-BI-1024x584.png)
Gráfico número 4: Gráfico de dispersión
En este caso utilizaremos la función “scatter”, que se encargará de interpretar nuestros datos y configurar el gráfico de dispersión o “scatter plot “como se le conoce comúnmente.
# Primer paso: Importamos la liberia correspondiente
import matplotlib.pyplot as plt
# Segundo paso: Generamos el gráfico de dispersión con las dimensiones correspondientes y le damos un color verde a los puntos.
plt.scatter(dataset['Edad'],dataset['ID_Mascota'], color='green')
# Tercer Paso: Agregamos los títulos correspondientes
plt.xlabel('Edad')
plt.ylabel('Número de Mascotas')
plt.title('Relación entre Edad y Número de Mascotas')
# Último Paso: Hacemos que el gráfico se muestre
plt.show()
![Gráfico de dispersión en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Grafico-de-dispersion-en-Power-BI.png)
TIP: Muy importante para este gráfico
# Primer paso: Importamos la libreria correspondiente
import matplotlib.pyplot as plt
# Segundo paso: Generamos el gráfico de dispersión con las dimensiones correspondientes y le damos un color verde a los puntos.
# El tamaño de cada punto (parámetro 's') representa el número de vacunas. Multiplicamos por un factor (aquí, 10) para hacer las diferencias de tamaño más visibles.
# Tenemos un alpha=0.5: Hace que los puntos sean parcialmente transparentes, lo que ayuda a visualizar mejor las áreas donde los puntos se superponen.
plt.scatter(dataset['Edad'], dataset['ID_Mascota'], s=dataset['Num_Total_Vacunas']*10, color='green', alpha=0.5)
# Tercer Paso: Agregamos los títulos correspondientes
plt.xlabel('Edad')
plt.ylabel('Número de Mascotas')
plt.title('Relación entre Edad y Número de Mascotas con Número de Vacunas como Tamaño del Punto')
# Último Paso: Hacemos que el gráfico se muestre
plt.show()
![Python en Power BI](https://academiadeldato.com/wp-content/uploads/2024/01/Python-y-Power-BI.png)
Gráfico número 5: Gráfico de líneas con separación por categoría
![Selección de especies, nº mascotas y edad](https://academiadeldato.com/wp-content/uploads/2024/01/Seleccion-de-22especies22-22no-mascotas22-y-22edad22.png)
# Primer paso: Importamos la librería correspondiente
import matplotlib.pyplot as plt
# Segundo paso: Recorreremos las especies de nuestra tabla Especie, cuyo nombre se encuentra en el campo Descripcion.
for especie, grupo in dataset.groupby('Descripcion'):
# Tercer paso: Ordenamos cada grupo por 'Edad'
grupo.sort_values('Edad', inplace=True)
# Cuarto Paso: Gemneramos el gráfico de líneas y le indicamos a la función que la etiqueta corresponde a la especie
plt.plot(grupo['Edad'], grupo['ID_Mascota'], marker='o', label=especie)
# Quinto Paso: Añadimos título y leyendas a los ejes
plt.title('Número de Mascotas por Edad, dividido por Especie')
plt.xlabel('Edad')
plt.ylabel('Número de Mascotas')
# Sexto Paso: Añadimos la leyenda para identificar las razas
plt.legend()
# Último Paso: Mostramos el gráfico
plt.show()
![Gráfico de líneas con separación por categoría](https://academiadeldato.com/wp-content/uploads/2024/01/Grafico-de-lineas-con-separacion-por-categoria.png)
Conclusión
Después de concluir esta ronda de ejemplos básicos que esperamos te hayan servido, te animamos a que no dejes que tu exploración termine aquí. Con los códigos y ejemplos que proporcionaremos, tienes la oportunidad de experimentar por ti mismo y ver cómo Python puede añadir una nueva dimensión a tus dashboards. Recuerda, en el mundo de Power BI y Python, las posibilidades son tan vastas como tu imaginación. Sigue explorando, sigue aprendiendo y, lo más importante, sigue compartiendo tus descubrimientos.
Cabe destacar que esta es una visión básica de los elementos que podrás encontrar gracias a la implementación de scripts de python en Power BI. Próximamente generaremos un artículo relacionado con funciones más avanzadas y otro tipo de librerías relacionadas con gráficos de campana, distribuciones de probabilidad, normalización y mucho más, así que no dejes de seguirnos.