2015-09-28 41 views
0

我希望有人能夠幫助解決我遇到的這個熊貓問題。我覺得答案很明顯,但我無法把頭繞在它身上。我有每兩列用YYYY-MM-DD HH:MM:SS值,如下所示:清理日期字符串並在熊貓/ Python 2中顯示負面時間

 A      B 
0  2015-09-27 02:20:00 2015-09-27 02:24:59 
1  2015-09-27 02:18:59 2015-09-27 02:00:00 
2  2015-09-27 01:57:00 2015-09-27 02:00:00 
3  2015-09-27 02:06:00 2015-09-27 02:02:59 

1)我想剝離YYYY-MM-DD數據和只保留時間數據,我怎樣才能做到這一點?

2)我想添加第三列

df["C"] = df["A"] - df["B"] 

其中的值有時會+ VE,有時-ve。我如何顯示-ve值爲「-HH:MM:SS」?當我嘗試繼續獲得「-1天+23:45:00」之類的值而不是-00:15:00時。

任何幫助,非常感謝!

+0

不要把兩個問題中的一個問題。 – Psytho

+0

我不認爲你可以得到timedelta值,將顯示負面的時間,因爲你的願望AFAIK – EdChum

+1

什麼是具體類型?他們是字符串還是日期時間對象?將'df.info()'結果添加到您的問題中。 – jfs

回答

1

您可以通過剝離日期:

import datetime 
a = datetime.datetime.strptime(date_string , '%Y-%m-%d %H:%M:%S') 
stripped = a.strftime('%H:%M:%S') 

獲得負增量,你可以這樣做:

def diff(t1,t2): 
    d = t1-t2 
    diff_seconds = d.total_seconds() 
    result = '' 
    if diff_seconds< 0: 
     result = '-' 
     diff_seconds *= -1 
    result += datetime.datetime.utcfromtimestamp(diff_seconds).strftime('%H:%M:%S') 
    return result