Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

977
Vistas
Agregue uuid a una nueva columna en un DataFrame de pandas

Estoy buscando agregar un uuid para cada fila en una sola columna nueva en un DataFrame de pandas. Esto obviamente llena la columna con el mismo uuid:

 import uuid import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3), columns=list('abc'), index=['apple', 'banana', 'cherry', 'date']) df['uuid'] = uuid.uuid4() print(df) abc uuid apple 0.687601 -1.332904 -0.166018 34115445-c4b8-4e64-bc96-e120abda1653 banana -2.252191 -0.844470 0.384140 34115445-c4b8-4e64-bc96-e120abda1653 cherry -0.470388 0.642342 0.692454 34115445-c4b8-4e64-bc96-e120abda1653 date -0.943255 1.450051 -0.296499 34115445-c4b8-4e64-bc96-e120abda1653

Lo que estoy buscando es un nuevo uuid en cada fila de la columna 'uuid'. También intenté usar .apply() y .map() sin éxito.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esta es una manera:

 df['uuid'] = [uuid.uuid4() for _ in range(len(df.index))]
over 4 years ago · Santiago Trujillo Denunciar

0

No puedo hablar de eficiencia computacional aquí, pero prefiero la sintaxis aquí, ya que es consistente con las otras modificaciones de apply-lambda que suelo usar para generar nuevas columnas:

 df['uuid'] = df.apply(lambda _: uuid.uuid4(), axis=1)

También puede elegir una columna aleatoria para eliminar el requisito del eje (por qué el axis=0 es el valor predeterminado, nunca lo entenderé):

 df['uuid'] = df['col'].apply(lambda _: uuid.uuid4())

La desventaja de esto es técnicamente que está pasando una variable ( _ ) que en realidad no usa. Sería agradable tener la capacidad de hacer algo como lambda: uuid.uuid4() , pero apply no admite lambas sin argumentos, lo cual es razonable dado que su caso de uso sería bastante limitado.

over 4 years ago · Santiago Trujillo Denunciar

0

from uuid import uuid4 df['uuid'] = df.index.to_series().map(lambda x: uuid4())
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda