Saltar al contenido principal

Gestionar bases de datos PostgreSQL en Python con psycopg2

Descubre cómo crear, conectar y gestionar bases de datos PostgreSQL utilizando el paquete psycopg2 de Python.
Actualizado 21 mar 2025  · 14 min de lectura

Los datos están en el corazón de casi todas las aplicaciones digitales que puedas imaginar. Desde las aplicaciones móviles y los juegos de ordenador hasta las herramientas bancarias y los vehículos autónomos, todo se basa en datos. ¿Dónde se almacenan todos estos datos? La respuesta son las bases de datos. 

Una base de datos es una colección organizada de datos estructurados, normalmente almacenados electrónicamente en un sistema informático. A pesar del reciente desarrollo de nuevos tipos de bases de datos (diseñadas para hacer frente al creciente volumen y variabilidad de los datos), una cantidad considerable de datos en todo el mundo sigue almacenándose en lo que se conoce como bases de datos relacionales. Las bases de datos relacionales almacenan los datos como colecciones de tablas predefinidas con filas y columnas que están conectadas mediante una o varias relaciones. 

Ser capaz de manejar y extraer datos de estas bases de datos es una habilidad esencial dentro de la industria de los datos y es una habilidad cada vez más demandada. La forma estándar de crear y gestionar bases de datos es SQL (Lenguaje de Consulta Estructurado). SQL es la base de algunas de las bases de datos relacionales más populares del mercado, como PostgreSQL, Microsoft SQL Server, MySQL y SQLite.

En este tutorial, nos centraremos en las bases de datos basadas en PostgreSQL y en cómo puedes crearlas, conectarte a ellas y gestionarlas utilizando Python. El tándem SQL-Python es una de las habilidades imprescindibles que debes dominar en tu viaje por la ciencia de datos. Para conectar Python con PostgreSQL, utilizaremos el paquete psycopg2, el adaptador de bases de datos PostgreSQL más popular para Python. ¿Listo para el reto? ¡Empecemos!

Comprender PostgreSQL

PostgreSQL es una base de datos relacional ligera, gratuita y de código abierto. Debido a su probada arquitectura, fiabilidad, integridad de los datos y fácil integración con otros lenguajes de programación populares, como Python y R, PostgreSQL goza de una gran aceptación en la industria, y empresas de todos los tamaños y regiones lo utilizan. 

PostgreSQL utiliza y amplía el lenguaje SQL combinado con muchas funciones que almacenan y escalan con seguridad las cargas de trabajo de datos más complicadas. 

Para empezar a utilizar PostgreSQL, primero tienes que instalarlo en tu ordenador. En el sitio oficial de PostgreSQL, puedes encontrar los numerosos paquetes e instaladores de PostgreSQL listos para usar y un archivo de código fuente disponible para distintas plataformas y casos de uso.

Para este tutorial, utilizaremos Postgres App, una sencilla aplicación nativa de macOS que incluye todas las funciones necesarias para iniciarse en PostgreSQL, pero ten en cuenta que todos los demás paquetes disponibles son igualmente válidos, y que la sintaxis de PostgreSQL para ejecutar consultas es la misma en todos los paquetes.

Si quieres saber más sobre PostgreSQL, consulta nuestra Guía de PostgreSQL para principiantes y el buen número de cursos de SQL.

Comprender psycopg2

Para conectarte a una base de datos ya creada en tu sistema o en Internet, tendrás que indicarle a Python cómo detectarla. En otras palabras, tendrás que decirle a Python que la base de datos que te interesa es una base de datos PostgreSQL. 

En Python, tienes varias opciones entre las que puedes elegir. En este caso, utilizaremos psycopg2, probablemente el adaptador de bases de datos PostgreSQL para Python más popular. Psycopg2 requiere algunos requisitos previos para funcionar correctamente en tu ordenador. Una vez que los hayas instalado (lee la documentación para obtener más información), puedes instalar psycopg2 como cualquier otro paquete de Python:

pip install psycopg2

Sin embargo, si quieres utilizar psycopg2 directamente, también puedes instalar psycopg2-binary, una versión independiente del paquete, que no necesita compilador ni bibliotecas externas. Esta es la instalación preferida para los nuevos usuarios.

pip install psycopg2-binary

Por último, si utilizas Python en un entorno Conda, debes instalar psycopg2 utilizando la Instalación de Anaconda:

conda install -c anaconda psycopg2

¡Ahora que ya lo tienes todo listo, vamos a crear tu primera conexión a tu sesión PostgreSQL con psycopg2!

Conectar Python a PostgreSQL

Para utilizar Python para interactuar con una base de datos PostgreSQL, necesitamos establecer una conexión. Esto se hace con la función psycopg2 connect(), que crea una nueva sesión de base de datos y devuelve una nueva instancia de conexión.

Para este tutorial, nos conectaremos con una base de datos llamada "datacamp_courses" que está alojada localmente. 

conn = psycopg2.connect(database = "datacamp_courses", 
                        user = "datacamp", 
                        host= 'localhost',
                        password = "postgresql_tutorial",
                        port = 5432)

Los parámetros básicos de conexión necesarios son

  • base de datos. El nombre de la base de datos.
  • usuario. Nombre de usuario necesario para autenticarse.
  • contraseña. Contraseña utilizada para autenticarte.
  • anfitrión. Dirección del servidor de la base de datos (en nuestro caso, la base de datos está alojada localmente, pero podría ser una dirección IP).
  • puerto. Número de puerto de conexión (por defecto 5432 si no se indica).

Conviértete en Ingeniero de Datos

Desarrolla tus habilidades en Python para convertirte en un ingeniero de datos profesional.
Empieza gratis

Crear una tabla en PostgreSQL

Es hora de crear tu primera tabla en la base de datos datacamp_courses. Queremos crear una tabla con información sobre algunos de los cursos del catálogo de cursos de DataCamp. La tabla tiene el siguiente esquema: 

La especificación nos da bastante información sobre las columnas de la tabla. La clave principal de la tabla debe ser course_id, y su tipo de datos debe ser un número entero. Una clave primaria es una restricción que obliga a que los valores de las columnas no sean nulos y sean únicos. Te permite identificar de forma única una instancia concreta o un conjunto de instancias presentes en la tabla. 

Las columnas restantes proporcionan información sobre el nombre del curso, el nombre de la instrucción del curso y el tema del curso.

Antes de crear la tabla, es importante explicar cómo funciona la instancia de conexión que acabas de crear. En esencia, la conexión encapsula una sesión de base de datos, y te permite ejecutar comandos y consultas SQL, como SELECT, INSERT, CREATE, UPDATE, o DELETE, utilizando el método cursor(), y hacer cambios persistentes utilizando el método commit() .

Una vez creada la instancia del cursor, puedes enviar comandos a la base de datos utilizando el método execute() y recuperar datos de una tabla utilizando fetchone(), fetchmany()o fetchall().

Por último, es importante que cierres el cursor y la conexión con la base de datos cuando hayas terminado tus operaciones. De lo contrario, seguirán reteniendo recursos del lado del servidor. Para ello, puedes utilizar elmétodo close() .

A continuación encontrarás el código para crear la tabla datacamp_courses:

# Open a cursor to perform database operations
cur = conn.cursor()
# Execute a command: create datacamp_courses table
cur.execute("""CREATE TABLE datacamp_courses(
            course_id SERIAL PRIMARY KEY,
            course_name VARCHAR (50) UNIQUE NOT NULL,
            course_instructor VARCHAR (100) NOT NULL,
            topic VARCHAR (20) NOT NULL);
            """)
# Make the changes to the database persistent
conn.commit()
# Close cursor and communication with the database
cur.close()
conn.close()

Este es un ejemplo muy básico de cómo crear tablas en PostgreSQL, pero las cosas pueden ser mucho más complejas. Si quieres saber más sobre cómo crear una base de datos PostgreSQL y explorar la estructura, los tipos de datos y cómo normalizar las bases de datos, consulta nuestro artículo Creación de bases de datos PostgreSQL.

Ejecutar consultas PostgreSQL básicas en Python

La tabla datacamp_courses está lista; ¡ahora es el momento de utilizar SQL para realizar algunas consultas básicas!

INSERTAR 

Te habrás dado cuenta de que la tabla no tiene valores hasta ahora. Para crear registros en la tabla datacamp_courses, necesitamos el comando INSERT.

cur = conn.cursor()

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to SQL','Izzy Weber','Julia')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Analyzing Survey Data in Python','EbunOluwa Andrew','Python')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to ChatGPT','James Chapman','Theory')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to Statistics in R','Maggie Matsui','R')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Hypothesis Testing in Python','James Chapman','Python')");

conn.commit()
cur.close()
conn.close()

La tabla resultante tiene este aspecto:

course_id

nombre_curso

course_instructor

tema

1

Introducción a SQL

Izzy Weber

Julia

2

Analizar datos de encuestas en Python

EbunOluwa Andrew

Python

3

Introducción a ChatGPT

James Chapman

Teoría

4

Introducción a la Estadística en R

Maggie Matsui

R

5

Pruebas de hipótesis en Python

James Chapman

Python

SELECCIONA 

Leer datos en bases de datos SQL es probablemente algo que harás mucho en tu viaje por la ciencia de datos. A esto se le suele llamar consulta SELECT. De momento, veamos cómo se mantiene la mesa datacamp_courses.

Llamaremos a la sentencia clásica SELECT * FROM database_name para leer todos los datos disponibles en la tabla. A continuación, utilizaremos el método fetchall() para obtener todas las filas disponibles. Observa que PostgreSQL crea automáticamente un índice numérico para la columna course_id .

cur = conn.cursor()
cur.execute('SELECT * FROM datacamp_courses;')
rows = cur.fetchall()
conn.commit()
conn.close()
for row in rows:
    print(row)
(1, 'Introduction to SQL', 'Izzy Weber', 'Julia')
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Introduction to Statistics in R', 'Maggie Matsui', 'R')
(5, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

ACTUALIZACIÓN 

Los datos suelen contener errores. Habrás observado en la sección anterior que el tema asociado al curso "Introducción a SQLes "Julia". Tras comprobar la información sobre el curso, descubrimos el error. Tenemos que cambiarlo y escribir "SQL" en su lugar. Esto puede hacerse con la declaración UPDATE, de la siguiente manera:

cur = conn.cursor()
cur.execute("UPDATE datacamp_courses SET topic = 'SQL' WHERE course_name = 'Introduction to SQL';")
conn.commit()
conn.close()

BORRAR 

Por último, puede que quieras eliminar uno de los registros de tu tabla. Por ejemplo, vamos a eliminar el curso Introducción a la Estadística en R:

cur = conn.cursor()
cur.execute("""DELETE from datacamp_courses WHERE course_name = 'Introduction to Statistics in R'""");
conn.commit()
cur.close()

Consultas PostgreSQL avanzadas en Python

En la sección anterior, hemos examinado las consultas SQL más básicas. Pero hay mucho que aprender. Veamos algunas consultas más avanzadas.

ORDENAR POR

Supongamos que quieres ordenar tu base de datos por el nombre del instructor. Puedes utilizar la declaración ORDER BY:

cur = conn.cursor()

cur.execute('SELECT * FROM datacamp_courses ORDER BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(1, 'Introduction to SQL', 'Izzy Weber', 'SQL')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

GRUPO POR

Puede que quieras realizar algunas funciones agregadas dentro de diferentes grupos de datos. Por ejemplo, puede interesarte calcular el número de cursos de los distintos instructores de cursos. Puedes hacer este tipo de operación con la función GROUP BY.

cur = conn.cursor()
cur.execute('SELECT course_instructor, COUNT(*) FROM datacamp_courses GROUP BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
('James Chapman', 2)
('Izzy Weber', 1)
('EbunOluwa Andrew', 1)

JOIN

Hasta ahora, sólo hemos trabajado con la tabla datacamp_course. Sin embargo, sólo empiezas a aprovechar todo el potencial de las bases de datos relacionales, como PostgreSQL, cuando trabajas con varias tablas a la vez. 

La herramienta mágica para combinar varias tablas es la operación JOIN. Imagina que tenemos una segunda tabla en nuestra base de datos llamada programming_languages que contiene información básica sobre los principales lenguajes de programación para la ciencia de datos, incluyendo el nombre, la posición en el Índice TIOBE y el número de cursos sobre el lenguaje de programación en Datacamp. La tabla tiene este aspecto:

language_id

language_name

número_curso

tiobe_ranking

1

SQL

31

8

2

Python

157

1

3

R

132

16

4

Julia

2

33

5

Scala

1

38

Imagina que quieres fusionar las dos tablas para obtener la información de los cursos, junto con la posición de la lengua en el índice TIOBE. Utilizaremos un INNER JOIN para obtener sólo la información de los lenguajes de programación que aparecen en la tabla datacamp_course

cur = conn.cursor()
cur.execute("""SELECT course_name, course_instructor, topic, tiobe_ranking
FROM datacamp_courses
INNER JOIN programming_languages
ON datacamp_courses.topic = programming_languages.language_name""")
rows = cur.fetchall()
for row in rows:
    print(row)
('Introduction to SQL', 'Izzy Weber', 'SQL', 8)
('Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python', 1)
('Hypothesis Testing in Python', 'James Chapman', 'Python', 1)

Éste es sólo un ejemplo, pero el potencial de las uniones SQL es infinito, por lo que es un tema que debes conocer. Nuestro curso, tutorialy hoja de trucos en joins te ayudarán a empezar.

Primeros pasos con SQLAlchemy

Psycopg2 es una gran herramienta para conectar con bases de datos PostgreSQL. Pero, ¿qué ocurre si tienes que trabajar con bases de datos alojadas en diferentes bases de datos SQL, como Oracle y MySQL? En estos casos, puede ser mejor utilizar una herramienta que pueda conectarse a distintos tipos de bases de datos SQL. Para ello, SQLAlchemy es un gran candidato. 

En palabras sencillas, SQLAlchemy permite a los usuarios conectar bases de datos utilizando lenguaje Python, ejecutar consultas SQL mediante programación basada en objetos y agilizar el flujo de trabajo. 

Aunque la sintaxis varía con respecto a psycopg2, puedes hacer prácticamente lo mismo. A continuación puedes encontrar un ejemplo sobre cómo crear un motor para conectar con nuestros conjuntos de datos datacamp_courses, y leer todos los datos disponibles en la tabla datacap_course

import sqlalchemy as db


engine = db.create_engine("postgresql://datacamp@localhost:5432/datacamp_courses")
conn = engine.connect() 
output = conn.execute("SELECT * FROM datacamp_courses")
print(output.fetchall())
conn.close()
[(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory'),
 (5, 'Hypothesis Testing in Python', 'James Chapman', 'Python'),
 (2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python'),
 (1, 'Introduction to SQL', 'Izzy Weber', 'SQL')]

SQLAlchemy es otra gran herramienta que merece la pena aprender. Para hacerte una idea de cómo funciona la herramienta, echa un vistazo a nuestro Tutorial de SQLALchemy.  

Utilizar PostgreSQL en DataLab de DataCamp

En DataCamp, trabajamos duro para que la ciencia de datos sea más fácil y accesible para todos. Esa fue la razón que impulsó la creación de DataCamp DataLab, un cuaderno basado en la nube diseñado específicamente para la ciencia de datos. Puedes pensar en DataCamp DataLab como una mezcla de Jupyter Notebook y Google Docs, que permite a los usuarios escribir código, analizar datos individual o colectivamente, y compartir ideas sobre los datos.

Conectar DataLab a bases de datos PostgreSQL, así como a otras bases de datos SQL, es extremadamente fácil. DataLab te permite conectarte a fuentes de datos de forma segura. Al mismo tiempo, puedes continuar sin problemas tus análisis de datos con Python o R. Sólo tienes que crear una integración, siguiendo un proceso sencillo, sin código, en el que tendrás que introducir tus credenciales de conexión.

Por último, si quieres probar la integración pero no tienes una base de datos PostgreSQL a la que conectarte, ¡puedes utilizar una de nuestras bases de datos PostgreSQL de ejemplo!

¿Tienes curiosidad por el DataCamp DataLab? Consulta este artículo para saber más sobre este portátil de nueva generación para la ciencia de datos.

Conclusión

¡Buen trabajo! En este tutorial, te has familiarizado con PostgreSQL y has aprendido a gestionar bases de datos sin salir de Python, utilizando el paquete psycopg2. Pero esto es sólo el principio del viaje. SQL es uno de los lenguajes de programación más utilizados en la ciencia de datos. Además, es bastante fácil de aprender, así que no tienes excusa.  

Afortunadamente, Datacamp te cubre. Aquí tienes algunos recursos que pueden ayudarte a dominar PostgreSQL y SQL en general:

Obtén una certificación Python

Demuestra que eres un científico de datos preparado para trabajar en Python

Preguntas frecuentes

¿Cuál es la diferencia entre psycopg2 y psycopg2-binario?

psycopg2 es el paquete fuente y requiere que tengas instalados en tu sistema un compilador de C y las bibliotecas cliente de PostgreSQL. psycopg2-binary es una versión precompilada que incluye todo lo que necesitas para empezar rápidamente. Es estupendo para fines de desarrollo y aprendizaje, pero no se recomienda para entornos de producción debido a posibles incompatibilidades binarias.

¿Cómo manejo los errores de conexión a la base de datos en Python?

Puedes capturar y gestionar los errores relacionados con la conexión utilizando los bloques try-except de Python. Por ejemplo:

import psycopg2
from psycopg2 import OperationalError

try:
    conn = psycopg2.connect(
        database="datacamp_courses",
        user="datacamp",
        password="postgresql_tutorial",
        host="localhost",
        port=5432
    )
except OperationalError as e:
    print(f"An error occurred: {e}")

Esto permite a tu script fallar con elegancia e incluso reintentar conexiones si es necesario.

¿Cómo me conecto a una base de datos PostgreSQL remota en lugar de a una local?

Para conectarte a una base de datos PostgreSQL remota, sustituye localhost por la dirección IP o el nombre de dominio del servidor remoto. Asegúrate:

  • El servidor de la base de datos permite conexiones externas.
  • El puerto correcto (normalmente 5432) está abierto en el cortafuegos.
  • Tu archivo PostgreSQL pg_hba.conf está configurado para aceptar conexiones remotas.

¿Puedo utilizar variables de entorno para almacenar credenciales de bases de datos de forma segura?

Sí, almacenar las credenciales como variables de entorno es una práctica más segura que codificarlas. Puedes acceder a ellos en Python utilizando os.environ:

import os
conn = psycopg2.connect(
    database=os.environ["DB_NAME"],
    user=os.environ["DB_USER"],
    password=os.environ["DB_PASSWORD"],
    host=os.environ["DB_HOST"],
    port=os.environ["DB_PORT"]
)

Utiliza herramientas como .env archivos con python-dotenv para gestionar esto localmente.

¿Cómo puedo evitar los ataques de inyección SQL al utilizar psycopg2?

Utiliza siempre consultas parametrizadas en lugar de formato de cadena al insertar datos de usuario:

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)",
            ('Course Name', 'Instructor', 'Topic'))

Esto evita que usuarios malintencionados inyecten código SQL dañino en tus consultas.

¿Cómo actualizo varias filas a la vez en psycopg2?

Puedes utilizar el método executemany() para insertar o actualizar varias filas de forma eficaz:

courses = [
    ('Course A', 'Instructor A', 'Python'),
    ('Course B', 'Instructor B', 'R')
]
cur.executemany("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)", courses)

¿Qué tipos de datos están disponibles en PostgreSQL, y cómo se asignan a Python?

Aquí tienes algunos tipos de datos PostgreSQL comunes y sus equivalentes en Python:

Tipo PostgreSQL Equivalente en Python
INTEGRO int
VARCHAR, TEXTO str
BOOLEAN bool
FECHA, FECHA-HORA datetime.date, datetime.datetime
NÚMERO decimal.Decimal

¿Cómo puedo exportar datos de PostgreSQL a un CSV utilizando Python?

Puedes utilizar el método copy_expert() con un comando COPY de SQL:

with open('courses.csv', 'w') as f:
    cur.copy_expert("COPY datacamp_courses TO STDOUT WITH CSV HEADER", f)

Esto es útil para crear copias de seguridad o exportar datos para su análisis.

¿Puedo utilizar Jupyter Notebook para ejecutar estos comandos Python-PostgreSQL?

Por supuesto! psycopg2 funciona perfectamente en Jupyter. Sólo asegúrate de que la conexión a la base de datos se cierra correctamente después de tus consultas, ya que las sesiones Jupyter pueden permanecer abiertas y consumir recursos.

¿Cuál es la mejor forma de depurar consultas SQL que fallan en Python?

Puedes hacerlo:

  • Imprime la consulta y los parámetros antes de la ejecución.
  • Utiliza los logs de PostgreSQL para encontrar más detalles.
  • Activa el registro psycopg2 configurando connection.set_isolation_level() o utilizando el modo eco de SQLAlchemy si utilizas esa interfaz.

Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Soy analista de datos autónomo y colaboro con empresas y organizaciones de todo el mundo en proyectos de ciencia de datos. También soy instructor de ciencia de datos con más de 2 años de experiencia. Escribo regularmente artículos relacionados con la ciencia de datos en inglés y español, algunos de los cuales se han publicado en sitios web consolidados como DataCamp, Towards Data Science y Analytics Vidhya Como científico de datos con formación en ciencias políticas y derecho, mi objetivo es trabajar en la interacción de las políticas públicas, el derecho y la tecnología, aprovechando el poder de las ideas para promover soluciones y narrativas innovadoras que puedan ayudarnos a abordar retos urgentes, como la crisis climática. Me considero autodidacta, aprendiz constante y firme partidaria de la multidisciplinariedad. Nunca es demasiado tarde para aprender cosas nuevas.

Temas

Más información sobre Python

Curso

Introduction to Databases in Python

4 hr
97.9K
In this course, you'll learn the basics of relational databases and how to interact with them.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial sobre cómo ejecutar consultas SQL en Python y R

Aprenda formas fáciles y eficaces de ejecutar consultas SQL en Python y R para el análisis de datos y la gestión de bases de datos.
Abid Ali Awan's photo

Abid Ali Awan

13 min

SQLAlchemy_Tutorial.

Tutorial

Tutorial de SQLAlchemy con ejemplos

Aprende a acceder y ejecutar consultas SQL en todo tipo de bases de datos relacionales utilizando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Machine Learning Jobs Header

Tutorial

Cómo utilizar Pytest para pruebas unitarias

Explore qué es Pytest y para qué se utiliza mientras lo compara con otros métodos de prueba de software.
Kurtis Pykes 's photo

Kurtis Pykes

13 min

Tutorial

Base de datos Azure SQL: Configuración y gestión paso a paso

Aprende a crear, conectar, gestionar, consultar y proteger tu base de datos Azure SQL. Esta guía paso a paso cubre todo lo esencial para una configuración óptima de la base de datos.
Anneleen Rummens's photo

Anneleen Rummens

12 min

Tutorial

Desarrollo de backend en Python: Guía completa para principiantes

Esta completa guía te enseña los fundamentos del desarrollo backend en Python. Aprende conceptos básicos, marcos de trabajo y buenas prácticas para empezar a crear aplicaciones web.
Oluseye Jeremiah's photo

Oluseye Jeremiah

15 min

Tutorial

Tutorial sobre la ejecución de scripts de Python en Power BI

Descubre las distintas formas de utilizar Python para optimizar el análisis, la visualización y el modelado de datos en Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

Ver másVer más