python_將上午下午的時間制度轉為24H
<Line廢文分析> Part4: .str[0:4], dict, map()
Published in
2 min readJan 3, 2020
上一篇我們搞定了Date及week_day的取出方式,請參考:
python_根據目標欄位內的文字,取出需要的部分,另外儲存到新的欄位
<Line廢文分析> Part3: str.split, dt.weekday, pd.to_datetime
medium.com
這篇我們來處理"時間",欄位A顯示的時間方式為上午、下午幾點鐘,在分析上來說比較麻煩,因此我們想要轉為24小時制度。
過程很簡單,首先取出欄位A的前4個文字。舉例:下午02, 上午03…。效果如下呈現:
df1['F'] =df1.A.str[0:4]
接著在製作一個簡單的對造表(用字典dict的格式),之後用map函數就完成囉!dict1呈現的轉換邏輯為 下午01 = 13, 下午06 = 18, 上午02 = 02…以此類推。
dict1 = {'下午01':13,'下午02':14,'下午03':15,'下午04':16,'下午05':17,'下午06':18,'下午07':19,'下午08':20,'下午09': 21,'下午10': 22,'下午11': 23,'下午12': 24,'上午01':1,'上午02':2,'上午03':3,'上午04':4,'上午05':5,'上午06':6,'上午07':7,'上午08':8,'上午09': 9,'上午10': 10,'上午11': 11,'上午00': 0}df1['time'] = df1.F.map(dict1)
成果如下: