首页 > 解决方案 > 将两个 Pandas 列转换为 yyyy-mm-dd HH:MM:SS

问题描述

我有一个 Pandas 数据框,如下所示:

   YYYYMMDD  HH
0  19900101   1
1  19900101   2
2  19900101   3
3  19900101   4
4  19900101   5

使用 YYYYMMDD:年-月-日值作为整数。HH:整数形式的小时值。

我想得到一个列'DateTime',它是一个日期时间列,为 yyyy-mm-dd hh:mm:ss。(所以,mm:ss=00:00)。

df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d'))

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

标签: pandasformattingpython-datetime

解决方案


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

解决了。


推荐阅读