日期特徵
你已經用數值變數建立了一些基本特徵。現在輪到依日期和時間來建立特徵。你將以 Kaggle「Taxi Fare Prediction」競賽資料的子樣本來練習。這份資料描述計程車乘車資訊,目標是預測每趟車資。
你的目標是從上車時間(pickup datetime)產生日期特徵。請記得,同步在 train 與 test 資料上建立新特徵會比較好。建立完成後,再把資料切回 train 與 test DataFrame。這裡會使用 pandas 的 isin() 方法來分割。
train 與 test 兩個 DataFrame 已經在你的工作環境中可用。
本練習屬於課程
用 Python 拿下 Kaggle 競賽
練習說明
- 將
train和test兩個 DataFrame 串接為單一 DataFrametaxi。 - 將「pickup_datetime」欄位轉換為
datetime物件。 - 從「pickup_datetime」欄位建立星期幾(使用
.dayofweek屬性)與小時(使用.hour屬性)這兩個特徵。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Concatenate train and test together
taxi = ____.____([train, test])
# Convert pickup date to datetime object
taxi['pickup_datetime'] = ____.____(taxi['pickup_datetime'])
# Create a day of week feature
taxi['dayofweek'] = taxi['pickup_datetime'].dt.____
# Create an hour feature
taxi['hour'] = taxi['pickup_datetime'].dt.____
# Split back into train and test
new_train = taxi[taxi['id'].isin(train['id'])]
new_test = taxi[taxi['id'].isin(test['id'])]