2016-04-05 13 views
2

私は日付の列と時間の列を持つデータフレームを持っています。python/pandas - 日付と時刻の整数をdatetimeに変換する

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

私のような日時書式何かにこれらの列を変換したい: 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

あなたが最初のdatetime列にdf.DATEを変換し、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

関連する問題