sandrosil
sandrosil

Reputation: 553

python/pandas - converting date and hour integers to datetime

I have a dataframe that has a date column and an hour column.

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

I want to convert these columns into a datetime format something like: 2015-12-26 01:00:00

Upvotes: 5

Views: 13513

Answers (1)

Zero
Zero

Reputation: 77027

You could first convert df.DATE to datetime column and add df.HOUR delta via timedelta64[h]

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]

Or, use 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]

Upvotes: 16

Related Questions