class DataTransformer: def transform_data(self, train_df, test_df): for idx, df in enumerate([train_df, test_df]): df['DateTime'] = pd.to_datetime(df['DateTime']) # Build 'Time' column df['Time'] = [date.hour * 3600 + date.minute * 60 + date.second for date in df['DateTime']] # Convert DateTime to Unix timestamp unixtime = [time.mktime(date.timetuple()) for date in df['DateTime']] df['DateTime'] = unixtime # Perform one-hot encoding on the DataFrame df = pd.get_dummies(df) if idx == 0: # Split training DataFrame into features (X_train) and target (y_train) X_train = df.drop(['Vehicles'], axis=1) y_train = df[['Vehicles']] elif idx == 1: # Store test DataFrame X_test = df return X_train, y_train, X_test