Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

974
Views
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 answers
Answer question

0

Esta es una manera:

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

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 Report

0

from uuid import uuid4 df['uuid'] = df.index.to_series().map(lambda x: uuid4())
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!