2017-02-22 82 views
1

我有一個混合格式的時間列,例如19:30和20:00。我如何將 指定爲統一的時間格式,即%H:%m或%H:%m%p?解析列作爲熊貓的時間

df["Timestamp"].head(10) 


0  10:00 
1 10:30 AM 
2  11:00 
3 11:30 AM 
4  12:00 
5 12:30 PM 
6  13:00 
7  1:30 PM 
8  14:00 
9  14:30 
Name: Timestamp, dtype: object 

回答

2

您可以使用熊貓parse_datetime

In [57]: pd.to_datetime(pd.Series(['10:00', '9:00 AM', '10:20 PM'])).apply(lambda x: x.strftime(r'%H:%M:%S')) 
Out[57]: 
0 10:00:00 
1 09:00:00 
2 22:20:00 
+0

但是當我做'pd.to_datetime(df.Timestamp.apply(拉姆達X:x.strftime(R'%H:%M:% S')))',它給了我錯誤'AttributeError:'str'對象沒有屬性'strftime'' –

+0

你的括號是錯誤的。你首先需要解析datetime和'to_datetime'的右括號後面,添加'apply' – languitar

+0

你是對的,'df [「Timestamp」] = pd.to_datetime(df.Timestamp).apply(lambda x:x .strftime(r'%H:%M:%S'))'工作。 'r'中有'r'%H:%M:%S''爲什麼有必要? –