맨 앞 로우를 출력해 확인해 보자. 다음 코드로 euc_distance 함수가 의도대로 잘 동작하는지도 확인할 수 있다.
print(df[['key', 'pickup_longitude', 'pickup_latitude', 'dropoff_longitude', 'dropoff_latitude', 'pickup_dist_JFK_Airport', 'dropoff_dist_JFK_Airport']].head())
▲ 그림 3-15 맨 앞 로우 출력
그림 3-15의 좌표로 거리를 계산해 보면 euc_distance 함수가 정확하다는 것을 알 수 있다. 다만 데이터셋에 아직 key 칼럼이 있다. 이 칼럼은 pickup_datetime 칼럼과 값이 동일하며, 데이터베이스 테이블의 고유 ID 역할을 했을 것이다. 따라서 제거해도 아무 손실이 없다.
df = df.drop(['key'], axis=1)
지금까지 도메인 지식을 바탕으로 새로운 특징 변수를 만드는 특징 공학을 수행했다. datetime 형식의 승차 시각 칼럼에서 연, 월, 일, 요일, 시간 변수를 추출했다. 또한, 요금에 결정적인 역할을 하는 운행 거리 변수와 공항과의 거리 변수들을 만들었다.