2017-09-26 79 views
1

我的數據幀包含熊貓數據框中:整型轉換時間HH:MM

dep_time sched_dep_time 
0 517.0 515 
1 533.0 529 
2 0.0  0.0 
3 544.0 545 
4 1.0  101 

我希望它是在5:17,5:15爲出發和預計起飛時間不同,NaN充滿0的也1.0表示以下

flight_data['dep_time']=flight_data['dep_time'].astype(str).apply(lambda x: 
         pd.to_timedelta(x[:-2] + x[-2:]+':00')) 

值錯誤出發1:00 嘗試:期待HH:mm:ss格式,收到:21天13:00:00.000000000:00 我甚至不知道怎麼樣dep_time 0, 1,2 ..應該被轉換。謝謝你,感謝你的幫助

+0

什麼是你的原始數據?因爲您當前的數據可能會導致混淆。例如,我應該將'101'解釋爲'1:01'還是'10:01'? – rojeeer

+0

它應該被解釋爲1:01 – nithin

回答

1
  • pd.to_numericerrors='coerce'
  • fillna(0)
  • pd.to_timedelta

d1 = pd.to_numeric(df.stack(), errors='coerce').fillna(0) 
(pd.to_timedelta(d1 // 100, unit='T') + 
pd.to_timedelta(d1 % 100, unit='S')).unstack() 

    dep_time sched_dep_time 
0 00:05:17  00:05:15 
1 00:05:33  00:05:29 
2 00:00:00  00:00:00 
3 00:05:44  00:05:45 
4 00:00:01  00:01:01 
+0

非常感謝你的作品像魅力 – nithin

+0

不客氣。如果它解決了你的問題,請隨時接受這個答案。 [**見此**](https://stackoverflow.com/help/someone-answers)獲取更多指導。 – piRSquared