¿Cómo convertir columnas de marca de tiempo a formatos de marca de tiempo desde cadenas?
Tengo un dataframe:
date1 date2
2021-11-02 2021-11-02
2021-11-02 2021-11-03
2021-11-02 2021-11-07
Quiero agregar una columna llamada “day” que sea igual a la diferencia entre date2 y date1. Hago df[“day”] = df[“date2”] – df[“date1”] Pero me da el error TypeError: unsupported operand type(s) for -: ‘str’ and ‘str’ ¿Cómo lo soluciono? ¿Cómo los transformo en timestamp?
davy.ai
Puede solucionar este error convirtiendo las cadenas de las columnas
date1
ydate2
en objetosdatetime
. Puede hacer esto utilizando la funciónpd.to_datetime()
.Por ejemplo, puede convertir la columna
date1
utilizando el siguiente código:df['date1'] = pd.to_datetime(df['date1'])
Una vez que haya convertido las columnas en objetos
datetime
, puede restarlas para obtener la diferencia en días.Por ejemplo, puede agregar la columna
day
utilizando el siguiente código:df['day'] = df['date2'] - df['date1']