如何转换数据框中的日期格式

how to convert date format in a dataframe

我有一个包含以下信息的数据框:

N_Ord   PSN      debut_interval
1      A4BA0D07  01/01/2022
2      04BB0607  01/01/2022

我需要

def get_date(fmt):
    fmt = "%Y-%m-%dT" + fmt
    return lambda x: x.dt.strftime(fmt)

df['debut_interval'] = pd.to_datetime(df['debut_interval'])
df.debut_interval.transform({'debut_interval':get_date('00:00:00'),
                            'fin_interval':get_date('23:59:59')})
 
        debut_interval         fin_interval
0  2022-01-01T00:00:00  2022-01-01T23:59:59
1  2022-01-01T00:00:00  2022-01-01T23:59:59

您可以使用:

fmt = '%Y-%m-%dT%H:%M:%S'
df2 = (df
  .assign(debut_interval=pd.to_datetime(df['debut_interval'], dayfirst=True),
          fin_interval=lambda d: d['debut_interval'].add(pd.to_timedelta('23:59:59')).dt.strftime(fmt))
  .assign(debut_interval=lambda d: d['debut_interval'].dt.strftime(fmt)
          )
       )

输出:

   N_Ord       PSN       debut_interval         fin_interval
0      1  A4BA0D07  2022-01-01T00:00:00  2022-01-01T23:59:59
1      2  04BB0607  2022-01-01T00:00:00  2022-01-01T23:59:59