Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

975
Visualizações
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 Respostas
Responde à pergunta

0

Esta es una manera:

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

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 Relatório

0

from uuid import uuid4 df['uuid'] = df.index.to_series().map(lambda x: uuid4())
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda