2013-04-30 32 views
-2

我有一個熊貓dataframe列包含時間數據與這樣的分鐘和秒 22:15,19:43等我需要轉換它,所以我可以做一些計算與它。數據採用Unicode的事實使得這項任務變得更加困難。轉換時間數據從大熊貓unicode

+1

你能證明你在做什麼,有什麼錯誤嗎?這些timedeltas?字符串? – Jeff 2013-04-30 01:30:19

+0

如果我可以刪除足夠好的分鐘部分。 – user2333196 2013-04-30 01:50:48

+2

最好提供一些例子。 – waitingkuo 2013-04-30 02:00:36

回答

3

您可以使用datetime和timedelta來解析和計算。

In [84]: import pandas as pd 

In [85]: from datetime import datetime, timedelta 

In [86]: def convert(s): 
      t = datetime.strptime(s, "%H:%M") 
      return timedelta(hours=t.hour, minutes=t.minute) 

In [87]: df = pd.DataFrame({'A':[u'22:15', u'19:43']}) 

In [88]: df 
Out[88]: 
     A 
0 22:15 
1 19:43 

In [89]: dfc = df.applymap(convert) 

In [90]: dfc 
Out[90]: 
      A 
0 22:15:00 
1 19:43:00 

dfc保存timedelta對象,這些可用於計算。例如添加24小時。

In [91]: dfc + timedelta(hours=24) 
Out[91]: 
       A 
0 1 day, 22:15:00 
1 1 day, 19:43:00