Pandas 将两列转换为yyyy-mm-dd HH:mm:SS

Pandas 将两列转换为yyyy-mm-dd HH:mm:SS,pandas,formatting,python-datetime,Pandas,Formatting,Python Datetime,我有一个熊猫数据框,看起来像: YYYYMMDD HH 0 19900101 1 1 19900101 2 2 19900101 3 3 19900101 4 4 19900101 5 与 YYYYMMDD:以整数形式表示的年-月-日值。 HH:作为整数的小时值 我想得到一列“DateTime”,它是一个DateTime列,名为yyyy-mm-dd hh:mm:ss。(因此,mm:ss=00:00) 给我yyyy-mm-dd作为日期时间,是否有一种奇特的方

我有一个熊猫数据框,看起来像:

   YYYYMMDD  HH
0  19900101   1
1  19900101   2
2  19900101   3
3  19900101   4
4  19900101   5
与 YYYYMMDD:以整数形式表示的年-月-日值。 HH:作为整数的小时值

我想得到一列“DateTime”,它是一个DateTime列,名为yyyy-mm-dd hh:mm:ss。(因此,mm:ss=00:00)

给我yyyy-mm-dd作为日期时间,是否有一种奇特的方法将“HH”值添加到日期时间

df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d')) + (pd.to_timedelta(df.HH, unit='H')) 
解决了

使用和:

df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d')) + (pd.to_timedelta(df.HH, unit='H')) 
    df['Datetime'] = (pd.to_datetime(df['YYYYMMDD'],format='%Y%m%d')
                        .add(pd.to_timedelta(df['HH'], 'h')))
print(df)
   YYYYMMDD  HH            Datetime
0  19900101   1 1990-01-01 01:00:00
1  19900101   2 1990-01-01 02:00:00
2  19900101   3 1990-01-01 03:00:00
3  19900101   4 1990-01-01 04:00:00
4  19900101   5 1990-01-01 05:00:00