[{'role': 'system', 'content': "You are an expert in machine learning and your task is to classify code snippets into one of the following categories: ['helper_functions', 'load_data', 'data_exploration', 'data_preprocessing', 'evaluation', 'modelling', 'prediction', 'result_visualization', 'save_results', 'comment_only']."}, {'role': 'user', 'content': "Identify the single most appropriate category to which the provided code belongs. Provide your response as a single category label without any additional information, commentary, or personal opinions.\\nPython Code:dft = df_test.copy()\ndft['datetime'] = pd.to_datetime(dft['datetime'])\ndft['year'] = pd.DatetimeIndex(dft['datetime']).year\ndft['month'] = pd.DatetimeIndex(dft['datetime']).month\ndft['day'] = pd.DatetimeIndex(dft['datetime']).day\ndft['dayofweek'] = pd.DatetimeIndex(dft['datetime']).dayofweek\ndft['hour'] = pd.DatetimeIndex(dft['datetime']).hour\nt_casual = dft.copy()\nt_registered = dft.copy()\nfrom_hour_cas = str(24-time_steps_cas)\nfor year in [2011,2012]:\nfor i in np.arange(1,13):\nm = str(i).zfill(2)\ninsert_index = t_casual[t_casual['datetime'] == str(year)+'-'+m+'-20 00:00:00'].index[0]\nline = df_train[(df_train['datetime'] >= str(year)+'-'+m+'-19 '+str(24-time_steps_cas).zfill(2)) &\n(df_train['datetime'] <= str(year)+'-'+m+'-19 23')]\nt_casual = pd.concat([t_casual.ix[:insert_index-1], line, t_casual.ix[insert_index:]]).reset_index(drop=True)\ninsert_index = t_registered[t_registered['datetime'] == str(year)+'-'+m+'-20 00:00:00'].index[0]\nline = df_train[(df_train['datetime'] >= str(year)+'-'+m+'-19 '+str(24-time_steps_reg).zfill(2)) &\n(df_train['datetime'] <= str(year)+'-'+m+'-19 23')]\nt_registered = pd.concat([t_registered.ix[:insert_index-1], line, t_registered.ix[insert_index:]]).reset_index(drop=True)\nt_casual = t_casual.drop('datetime', axis=1)\nt_registered = t_registered.drop('datetime', axis=1)\nt_casual['casual_rush'] = t_casual[['hour', 'workingday']].apply(\nlambda x: (0, 1)[\n(x['workingday'] == 1 and  cr_w_from <= x['hour'] <= cr_w_to)\nor (x['workingday'] == 0 and  cr_nw_from <= x['hour'] <= cr_nw_to)], axis = 1)\nt_registered['registered_rush'] = t_registered[['hour', 'workingday']].apply(\nlambda x: (0, 1)[\n(x['workingday'] == 1 and  (rr_w_from1 <= x['hour'] <= rr_w_to1 or rr_w_from2 <= x['hour'] <= rr_w_to2))\nor (x['workingday'] == 0 and rr_nw_from <= x['hour'] <= rr_nw_to)], axis = 1)\nprint(t_casual.shape, t_registered.shape)\nt_casual.head()"}, {'role': 'assistant', 'content': 'data_preprocessing'}]