2016-04-05 163 views
2

我有一個包含日期列和小時列的數據框。蟒蛇/熊貓 - 將日期和小時整數轉換爲日期時間

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

我想這些列轉換爲datetime格式是這樣的: 2015-12-26 01:00:00

+0

我不確定這是否有用,因爲您使用的是數據框,如果讀取csv,可以使用:datetime.datetime.strptime(「2015-1-1 01」,「%Y-%m- %d%H「),你可以將日期和小時結合起來作爲字符串 – okkhoy

+0

@okkhoy我也會試一試。底層的源代碼來自csv,所以也許在創建最終的數據框之前,我可以格式化csv。謝謝! – sndrosilva

回答

6

你可以先轉換df.DATE到datetime列,並通過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] 

或者,使用添加df.HOUR三角洲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] 
+0

這完美的作品!感謝您及時的回覆 – sndrosilva

相關問題