python / pandas - 将日期和小时整数转换为datetime

时间:2016-04-05 03:41:18

标签: python datetime pandas

我有一个包含日期列和小时列的数据框。

     DATE         HOUR
  2015-1-1         1
  2015-1-1         2
      .            .
      .            .
      .            .
  2015-1-1         24

我想将这些列转换为日期时间格式,例如: 2015-12-26 01:00:00

1 个答案:

答案 0 :(得分:8)

您可以先将df.DATE转换为日期时间列,然后通过df.HOUR

添加timedelta64[h] delta
In [10]: df
Out[10]:
       DATE  HOUR
0  2015-1-1     1
1  2015-1-1     2
2  2015-1-1    24

In [11]: pd.to_datetime(df.DATE) + df.HOUR.astype('timedelta64[h]')
Out[11]:
0   2015-01-01 01:00:00
1   2015-01-01 02:00:00
2   2015-01-02 00:00:00
dtype: datetime64[ns]

或者,使用pd.to_timedelta

In [12]: pd.to_datetime(df.DATE) + pd.to_timedelta(df.HOUR, unit='h')
Out[12]:
0   2015-01-01 01:00:00
1   2015-01-01 02:00:00
2   2015-01-02 00:00:00
dtype: datetime64[ns]