2016-11-29 6 views
-1

1から140までint文字列形式の時刻をpandasの時刻に変換するにはどうすればいいですか?

enter image description here

時間は文字列ですstringdateである列timeとデータフレームがあります:

0   00:05:24 
1   00:05:43 
2   00:06:34 
3   00:06:50 
4   00:06:55 

私が作成したいが、モデルRandom Forestのクラスhを予測することができますが、日付と時刻の列は有用ではありません。Random Forestでは使用できません。私は何とかこれらの2つの列を新しいものに組み合わせて予測に役立てる必要があります。

+0

'date'はここで何を表しているのでしょうか? – EdChum

+0

「日付」の意味は何ですか? – Chandan

+0

'date'は' date'の 'time'に' a'(一意のID)が発生した日付を表す1から140までの 'int '番号です。 – samanv

答えて

1

数字の機能としてすべてを保持したい場合は、日付が何であっても(何らかのゼロ点を基準にしてナンバリングしていると仮定していますか?)、時間を数分の1/1日の秒数)。

ダミーデータ:

>>> df 
13: date  time 
0 23 00:05:43 
1 45 00:06:34 
2 67 00:06:50 
3 89 00:06:55 

計算時間の割合、 '時間' を作るために日にそれを追加します。

>>> df['seconds'] = df.time.apply(pd.to_timedelta).apply(lambda x: x.total_seconds()) 
>>> df['of_day'] = df.seconds/(24*60*60) 
>>> df['datetime_number'] = df.date + df.of_day 
>>> df 
17: date  time seconds of_day datetime_number 
0 23 00:05:43 343.0 0.003970  23.003970 
1 45 00:06:34 394.0 0.004560  45.004560 
2 67 00:06:50 410.0 0.004745  67.004745 
3 89 00:06:55 415.0 0.004803  89.004803 
関連する問題