當匯入的資料格式並非分析時所需的格式時,就需要事先進行轉換。 舉個最常見的例子,在資料處理時常常會遇到日期資料以為文字格式做儲存,如下圖所示,生日的部分為文字格式並非日期格式,分析上往往需要的是年齡變項,必須透過生日計算年齡。但是當 Birthday 變項為文字格式時,在計算上就會遇到困難,必須優先進行格式轉換的處理。 以下的操作就以生日欄位為例進行格式轉換。 以 SAS 進行日期格式轉換 基礎版,用 substr 做擷取 data id_date; set id; Birth_date=mdy(substr(Birthday, 5 , 2 ),substr(Birthday, 7 , 2 ),substr(Birthday, 1 , 4 )) ; format Birth_date yymmdd10. ; run ; 進階版,用 input 直接轉換 data id_date; set id; Birth_date=input(Birthday, yymmdd8. ) ; format Birth_date yymmdd10. ; run ; 以 Python 進行日期格式轉換 id_list["Birth_date"] = pandas.to_datetime(id_list["Birthday"], format = '%Y%m%d') #format之後設定日期格式 當然,實務上會遇到需要轉換成不同形式的日期格式,並不會種是這麼單純,因此以下彙整 SAS 與 python 日期格式的表示。 Python 程式 年 %Y 4 位數的年 %y 2 位數的年 月 %m 2 位數的月 [01,12] %b 英文月份簡寫 %B 英文月份完整寫法 日 %d 2 位數的日 ...