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

333
Vistas
Conversión de la columna de zona horaria PDT/PST a zona horaria UTC

Tengo una columna de pandas que tiene valores de fecha y hora PDT y PST. Ejemplo:

PDT/PST
2021-10-29 00:18:38 PDT
2021-10-29 01:08:19 PDT
2021-11-08 19:43:58 PDT
2021-11-08 19:56:01 PDT

Necesito convertirlos a la zona horaria UTC. Ejemplo:

UTC
2021-10-29 07:18:00

Se agradece una respuesta sencilla.

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

0

Use to_datetime con cadenas de conversión a fechahoras por dateparser.parse :

 import dateparser df['PDT/PST'] = pd.to_datetime(df['PDT/PST'].apply(dateparser.parse), utc=True) print (df) PDT/PST 0 2021-10-29 07:18:38+00:00 1 2021-10-29 08:08:19+00:00 2 2021-11-09 03:43:58+00:00 3 2021-11-09 03:56:01+00:00

Último agregado Series.dt.tz_localize con None :

 df['PDT/PST'] = (pd.to_datetime(df['PDT/PST'].apply(dateparser.parse), utc=True) .dt.tz_localize(None)) print (df) PDT/PST 0 2021-10-29 07:18:38 1 2021-10-29 08:08:19 2 2021-11-09 03:43:58 3 2021-11-09 03:56:01

La solución con reemplazar PST y PDT a -7 o -8 es:

 df['PDT/PST'] = (pd.to_datetime(df['PDT/PST'] .replace({'PDT':'-07:00','PST':'-08:00'}, regex=True), utc=True) .dt.tz_localize(None)) print (df) PDT/PST 0 2021-10-29 07:18:38 1 2021-10-29 08:08:19 2 2021-11-09 03:43:58 3 2021-11-09 03:56:01
over 4 years ago · Santiago Trujillo Denunciar

0

Otra opción: el analizador de dateutil con tzinfos suministrado; luego convertir a UTC.

 import dateutil pacific_tz = dateutil.tz.gettz("US/Pacific") df['UTC'] = df['PDT/PST'].apply(dateutil.parser.parse, tzinfos={'PST': pacific_tz, 'PDT': pacific_tz}).dt.tz_convert('UTC') df['UTC'] 0 2021-10-29 07:18:38+00:00 1 2021-10-29 08:08:19+00:00 2 2021-11-09 03:43:58+00:00 3 2021-11-09 03:56:01+00:00 Name: UTC, dtype: datetime64[ns, UTC]

Relacionado: Python strptime () y zonas horarias?

Ahora puede formatear una cadena con un formato determinado si lo desea, por ejemplo

 df['UTC'].dt.strftime('%Y-%m-%d %H:%M:%S') 0 2021-10-29 07:18:38 1 2021-10-29 08:08:19 2 2021-11-09 03:43:58 3 2021-11-09 03:56:01 Name: UTC, dtype: object
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