{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Basic Python Flow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "from pathlib import Path\n",
    "\n",
    "# current notebook is inside ./data/python_example1/\n",
    "NOTEBOOK_DIR = Path().resolve()\n",
    "PROJECT_ROOT = NOTEBOOK_DIR.parent.parent     # go up two levels to project root\n",
    "\n",
    "sys.path.append(str(PROJECT_ROOT / \"src\"))\n",
    "\n",
    "from instantgrade import Evaluator"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "from instantgrade.utils.io_utils import generate_student_notebook\n",
    "\n",
    "generate_student_notebook(\n",
    "    instructor_path=\"./pandas_practice.ipynb\",\n",
    "    output_path=\"./submissions/student_notebook.ipynb\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[37m12:26:22 | INFO     | Starting evaluation pipeline...\u001b[0m\n",
      "\u001b[37m12:26:22 | INFO     | Loading instructor solution...\u001b[0m\n",
      "\u001b[37m12:26:22 | INFO     | Loaded 20 questions.\u001b[0m\n",
      "\u001b[37m12:26:22 | INFO     | Discovered 66 submissions to grade.\u001b[0m\n",
      "\u001b[37m12:26:22 | INFO     | Starting Docker-based evaluation pipeline...\u001b[0m\n",
      "\u001b[37m12:26:22 | INFO     | [1/66] Grading: 2423350_Nitin.Sahsani (2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:22 | INFO     | [Docker] Starting grading for 2423350_Nitin.Sahsani (2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Final resolved student identity -> name='Nitin Sahsani', roll='2423350'\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2423350_Nitin.Sahsani (2).ipynb][docker] [grader] results.json written with 49 rows.\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [2/66] Grading: 2423365 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:24 | INFO     | [Docker] Starting grading for 2423365 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Final resolved student identity -> name='Anay Mittal', roll='2423357'\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [2423365 (1).ipynb][docker] [grader] results.json written with 42 rows.\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [3/66] Grading: Aarav Danani 2423343.ipynb\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Docker] Starting grading for Aarav Danani 2423343.ipynb\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'filter_profit_range', 'group_by_mean', 'name', 'np', 'pd', 'roll_number']\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Final resolved student identity -> name='Aarav Danai', roll='2423343'\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Aarav Danani 2423343.ipynb][docker] [grader] results.json written with 30 rows.\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [4/66] Grading: ArunMG(2423360).ipynb\u001b[0m\n",
      "\u001b[37m12:26:25 | INFO     | [Docker] Starting grading for ArunMG(2423360).ipynb\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'drop_duplicates_by_cols', 'fill_missing_college', 'fill_missing_with_mean', 'filter_profit_range', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Final resolved student identity -> name='Arun Murari Gottipati', roll='2423360'\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [ArunMG(2423360).ipynb][docker] [grader] results.json written with 35 rows.\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [5/66] Grading: ArunMurari(2423360).ipynb\u001b[0m\n",
      "\u001b[37m12:26:26 | INFO     | [Docker] Starting grading for ArunMurari(2423360).ipynb\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Final resolved student identity -> name='Arun Murari Gottipati', roll='2423360'\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [ArunMurari(2423360).ipynb][docker] [grader] results.json written with 38 rows.\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [6/66] Grading: Harsh CIA-1.ipynb\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Docker] Starting grading for Harsh CIA-1.ipynb\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Final resolved student identity -> name='Harsh Mittal', roll='242333'\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Harsh CIA-1.ipynb][docker] [grader] results.json written with 52 rows.\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [7/66] Grading: Harsh CIA.ipynb\u001b[0m\n",
      "\u001b[37m12:26:27 | INFO     | [Docker] Starting grading for Harsh CIA.ipynb\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Final resolved student identity -> name='Harsh Mittal', roll='2423373'\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] Count of NaN values in each column:\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] a    1\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] b    2\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] c    0\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] dtype: int64\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] DataFrame after dropping NaN rows and resetting index:\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker]      x     y\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] 0  1.0  10.0\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Harsh CIA.ipynb][docker] [grader] results.json written with 52 rows.\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [8/66] Grading: MAYUR 2423358 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:28 | INFO     | [Docker] Starting grading for MAYUR 2423358 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Final resolved student identity -> name='Mayur garg', roll='2423358'\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] <class 'pandas.core.frame.DataFrame'>\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] RangeIndex: 2 entries, 0 to 1\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] Data columns (total 3 columns):\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker]  #   Column  Non-Null Count  Dtype\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] ---  ------  --------------  -----\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker]  0   x       2 non-null      int64\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker]  1   y       2 non-null      int64\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker]  2   z       2 non-null      int64\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] dtypes: int64(3)\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] memory usage: 180.0 bytes\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [MAYUR 2423358 (1).ipynb][docker] [grader] results.json written with 45 rows.\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [9/66] Grading: Nishant_Kumar(2423349).ipynb\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Docker] Starting grading for Nishant_Kumar(2423349).ipynb\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Final resolved student identity -> name='NISHANT KUMAR', roll='2423349'\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Nishant_Kumar(2423349).ipynb][docker] [grader] results.json written with 43 rows.\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [10/66] Grading: Sarthak_Chaudhary_2423346.ipynb\u001b[0m\n",
      "\u001b[37m12:26:29 | INFO     | [Docker] Starting grading for Sarthak_Chaudhary_2423346.ipynb\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Final resolved student identity -> name='Sarthak Chaudhary', roll='2423346'\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Sarthak_Chaudhary_2423346.ipynb][docker] [grader] results.json written with 48 rows.\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [11/66] Grading: SohamUdaySahasrabudhe2423363.ipynb\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [Docker] Starting grading for SohamUdaySahasrabudhe2423363.ipynb\u001b[0m\n",
      "\u001b[37m12:26:30 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'convert_to_datetime', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Final resolved student identity -> name='Soham Uday Sahasrabudhe', roll='2423363'\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [SohamUdaySahasrabudhe2423363.ipynb][docker] [grader] results.json written with 42 rows.\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [12/66] Grading: Student Notebook Solved_2.ipynb\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Docker] Starting grading for Student Notebook Solved_2.ipynb\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Final resolved student identity -> name='Lalit Mohan Kumar', roll='2423375'\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Student Notebook Solved_2.ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [13/66] Grading: Untitled.ipynb\u001b[0m\n",
      "\u001b[37m12:26:31 | INFO     | [Docker] Starting grading for Untitled.ipynb\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Untitled.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Untitled.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Untitled.ipynb][docker] [grader] Namespace after execution: []\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Untitled.ipynb][docker] [grader] Missing name/roll in namespace, scanning code cells...\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Untitled.ipynb][docker] [grader] Final resolved student identity -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Untitled.ipynb][docker] [grader] ❌ Fatal: student identity still matches instructor defaults. Skipping assertions.\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [14/66] Grading: Urvi Kamble (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Docker] Starting grading for Urvi Kamble (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Final resolved student identity -> name='Urvi Kamble', roll='2423383'\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Urvi Kamble (1).ipynb][docker] [grader] results.json written with 49 rows.\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [15/66] Grading: Urvi Kamble.ipynb\u001b[0m\n",
      "\u001b[37m12:26:32 | INFO     | [Docker] Starting grading for Urvi Kamble.ipynb\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Final resolved student identity -> name='Urvi Kamble', roll='2423383'\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Urvi Kamble.ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [16/66] Grading: Vaishnavi Kavishetti 2423381 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:33 | INFO     | [Docker] Starting grading for Vaishnavi Kavishetti 2423381 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'convert_to_datetime', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Final resolved student identity -> name='Vaishnavi Santosh Kavishetti', roll='2423381'\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Vaishnavi Kavishetti 2423381 (1).ipynb][docker] [grader] results.json written with 48 rows.\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [17/66] Grading: VanshRohida2423372 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Docker] Starting grading for VanshRohida2423372 (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Final resolved student identity -> name='Vansh Rohida', roll='2423372'\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [VanshRohida2423372 (1).ipynb][docker] [grader] results.json written with 50 rows.\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [18/66] Grading: krishna jhanwar(2423344).ipynb\u001b[0m\n",
      "\u001b[37m12:26:34 | INFO     | [Docker] Starting grading for krishna jhanwar(2423344).ipynb\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'clean_age_data', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Final resolved student identity -> name='krishna jhanwar', roll='2423344'\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [krishna jhanwar(2423344).ipynb][docker] [grader] results.json written with 38 rows.\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [19/66] Grading: rohan_64 (2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [Docker] Starting grading for rohan_64 (2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Final resolved student identity -> name='RohanGM', roll='2423364'\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [rohan_64 (2).ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [20/66] Grading: rohan_64.ipynb\u001b[0m\n",
      "\u001b[37m12:26:35 | INFO     | [Docker] Starting grading for rohan_64.ipynb\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Final resolved student identity -> name='RohanGM', roll='2423364'\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [rohan_64.ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [21/66] Grading: student_notebook (1) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:36 | INFO     | [Docker] Starting grading for student_notebook (1) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Final resolved student identity -> name='Kanishka_Singh', roll='2423376'\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (1).ipynb][docker] [grader] results.json written with 42 rows.\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [22/66] Grading: student_notebook (1) (2) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [Docker] Starting grading for student_notebook (1) (2) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Final resolved student identity -> name='aahaan chatterjee', roll='2423354'\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [student_notebook (1) (2) (1).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [23/66] Grading: student_notebook (1) fr.ipynb\u001b[0m\n",
      "\u001b[37m12:26:37 | INFO     | [Docker] Starting grading for student_notebook (1) fr.ipynb\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Final resolved student identity -> name='Farhan Aziz', roll='2423377'\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1) fr.ipynb][docker] [grader] results.json written with 49 rows.\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [24/66] Grading: student_notebook (1)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [Docker] Starting grading for student_notebook (1)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Final resolved student identity -> name='Udit Baid', roll='2423384'\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [student_notebook (1)(1).ipynb][docker] [grader] results.json written with 45 rows.\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [25/66] Grading: student_notebook (1)(10).ipynb\u001b[0m\n",
      "\u001b[37m12:26:38 | INFO     | [Docker] Starting grading for student_notebook (1)(10).ipynb\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Final resolved student identity -> name='S.Vaigunda Ram Singh', roll='2423345'\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [student_notebook (1)(10).ipynb][docker] [grader] results.json written with 55 rows.\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [26/66] Grading: student_notebook (1)(11).ipynb\u001b[0m\n",
      "\u001b[37m12:26:39 | INFO     | [Docker] Starting grading for student_notebook (1)(11).ipynb\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'count_missing_values', 'drop_duplicates_by_cols', 'filter_by_threshold', 'get_dataframe_info', 'groupby_team_agg', 'load_csv_string', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Final resolved student identity -> name='vikram sinha', roll='2423359'\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(11).ipynb][docker] [grader] results.json written with 28 rows.\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [27/66] Grading: student_notebook (1)(12).ipynb\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [Docker] Starting grading for student_notebook (1)(12).ipynb\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(12).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(12).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(12).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(12).ipynb][docker] [grader] Final resolved student identity -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [student_notebook (1)(12).ipynb][docker] [grader] ❌ Fatal: student identity still matches instructor defaults. Skipping assertions.\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [28/66] Grading: student_notebook (1)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:40 | INFO     | [Docker] Starting grading for student_notebook (1)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Final resolved student identity -> name='devansh grover', roll='2423366'\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] a    1\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] b    2\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] c    0\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] dtype: int64\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(2).ipynb][docker] [grader] results.json written with 44 rows.\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [29/66] Grading: student_notebook (1)(3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [Docker] Starting grading for student_notebook (1)(3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Final resolved student identity -> name='Johann Karl', roll='2423382'\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:41 | INFO     | [student_notebook (1)(3).ipynb][docker] [grader] results.json written with 46 rows.\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [30/66] Grading: student_notebook (1)(4).ipynb\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [Docker] Starting grading for student_notebook (1)(4).ipynb\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Final resolved student identity -> name='Kushagra Gulati', roll='2423347'\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [student_notebook (1)(4).ipynb][docker] [grader] results.json written with 49 rows.\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [31/66] Grading: student_notebook (1)(5).ipynb\u001b[0m\n",
      "\u001b[37m12:26:42 | INFO     | [Docker] Starting grading for student_notebook (1)(5).ipynb\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Final resolved student identity -> name='Aakarsh Jawa', roll='2423380'\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(5).ipynb][docker] [grader] results.json written with 49 rows.\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [32/66] Grading: student_notebook (1)(6).ipynb\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [Docker] Starting grading for student_notebook (1)(6).ipynb\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Final resolved student identity -> name='ANIRUDDHAN R M', roll='2423353'\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [student_notebook (1)(6).ipynb][docker] [grader] results.json written with 38 rows.\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [33/66] Grading: student_notebook (1)(7).ipynb\u001b[0m\n",
      "\u001b[37m12:26:43 | INFO     | [Docker] Starting grading for student_notebook (1)(7).ipynb\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_profit_range', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'pop', 'roll_number', 'sample_df', 'samplee_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Final resolved student identity -> name='aahaan chatterjee', roll='2423354'\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [student_notebook (1)(7).ipynb][docker] [grader] results.json written with 43 rows.\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [34/66] Grading: student_notebook (1)(8).ipynb\u001b[0m\n",
      "\u001b[37m12:26:44 | INFO     | [Docker] Starting grading for student_notebook (1)(8).ipynb\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'count_missing_values', 'describe_numeric', 'fill_missing_with_mean', 'get_summary_stats', 'group_by_mean', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Final resolved student identity -> name='Siva Samvit Vemuri', roll='2423348'\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(8).ipynb][docker] [grader] results.json written with 25 rows.\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [35/66] Grading: student_notebook (1)(9).ipynb\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [Docker] Starting grading for student_notebook (1)(9).ipynb\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'csv_data', 'describe_numeric', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Final resolved student identity -> name='Narane Karthic', roll='2423379'\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [student_notebook (1)(9).ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [36/66] Grading: student_notebook (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:45 | INFO     | [Docker] Starting grading for student_notebook (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Final resolved student identity -> name='Anay Mittal', roll='2423357'\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1).ipynb][docker] [grader] results.json written with 42 rows.\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [37/66] Grading: student_notebook (1)2423377.ipynb\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [Docker] Starting grading for student_notebook (1)2423377.ipynb\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Final resolved student identity -> name='Farhan Aziz', roll='2423377'\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:46 | INFO     | [student_notebook (1)2423377.ipynb][docker] [grader] results.json written with 34 rows.\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [38/66] Grading: student_notebook (2) (1)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [Docker] Starting grading for student_notebook (2) (1)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Final resolved student identity -> name='Ashmith B Shetty', roll='2423378'\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker]    col1  col2  col3\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 0   1.0   5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 1   2.0   NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 2   NaN   7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 3   4.0   8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] DataFrame after dropping NaN rows and resetting index:\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker]    col1  col2  col3\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 0   1.0   5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker]    col1  col2 col3  col4\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 0   1.0   6.0    A  11.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 1   2.0   NaN    B  12.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 2   NaN   8.0    C  13.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 3   4.0   9.0  NaN  14.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 4   5.0  10.0    E   NaN\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] DataFrame with NaN values filled with column means:\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker]    col1   col2 col3  col4\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 0   1.0   6.00    A  11.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 1   2.0   8.25    B  12.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 2   3.0   8.00    C  13.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 3   4.0   9.00  NaN  14.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 4   5.0  10.00    E  12.5\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker]   Category  Value\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 0        A   11.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 1        B   16.5\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] 2        C   21.0\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [student_notebook (2) (1)(1).ipynb][docker] [grader] results.json written with 48 rows.\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [39/66] Grading: student_notebook (2) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:47 | INFO     | [Docker] Starting grading for student_notebook (2) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Final resolved student identity -> name='Siva Samvit Vemuri', roll='2423348'\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2) (1).ipynb][docker] [grader] results.json written with 52 rows.\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [40/66] Grading: student_notebook (2)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [Docker] Starting grading for student_notebook (2)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Final resolved student identity -> name='Deshpande Rugved Shirish', roll='2423370'\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [student_notebook (2)(1).ipynb][docker] [grader] results.json written with 47 rows.\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [41/66] Grading: student_notebook (2)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:48 | INFO     | [Docker] Starting grading for student_notebook (2)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2)(2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2)(2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2)(2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2)(2).ipynb][docker] [grader] Final resolved student identity -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2)(2).ipynb][docker] [grader] ❌ Fatal: student identity still matches instructor defaults. Skipping assertions.\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [42/66] Grading: student_notebook (2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [Docker] Starting grading for student_notebook (2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2).ipynb][docker] [grader] Final resolved student identity -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:49 | INFO     | [student_notebook (2).ipynb][docker] [grader] ❌ Fatal: student identity still matches instructor defaults. Skipping assertions.\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [43/66] Grading: student_notebook (3)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [Docker] Starting grading for student_notebook (3)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Final resolved student identity -> name='Tejas Pandey', roll='2423352'\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [student_notebook (3)(1).ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [44/66] Grading: student_notebook (3)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:50 | INFO     | [Docker] Starting grading for student_notebook (3)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Final resolved student identity -> name='shaurya', roll='2423374'\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(2).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [45/66] Grading: student_notebook (3)(3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [Docker] Starting grading for student_notebook (3)(3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Final resolved student identity -> name='shaurya', roll='2423374'\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:51 | INFO     | [student_notebook (3)(3).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [46/66] Grading: student_notebook (3)(4).ipynb\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [Docker] Starting grading for student_notebook (3)(4).ipynb\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Final resolved student identity -> name='shaurya', roll='2423374'\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [student_notebook (3)(4).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [47/66] Grading: student_notebook (3)(5).ipynb\u001b[0m\n",
      "\u001b[37m12:26:52 | INFO     | [Docker] Starting grading for student_notebook (3)(5).ipynb\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Final resolved student identity -> name='shaurya', roll='2423374'\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3)(5).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [48/66] Grading: student_notebook (3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [Docker] Starting grading for student_notebook (3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Final resolved student identity -> name='Deshpande Rugved Shirish', roll='2423370'\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [student_notebook (3).ipynb][docker] [grader] results.json written with 47 rows.\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [49/66] Grading: student_notebook (4) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:53 | INFO     | [Docker] Starting grading for student_notebook (4) (1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]    col1  col2  col3\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0   1.0   5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 1   2.0   NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 2   NaN   7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 3   4.0   8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] DataFrame after dropping NaN rows and resetting index:\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]    col1  col2  col3\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0   1.0   5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]    col1  col2 col3  col4\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0   1.0   6.0    A  11.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 1   2.0   NaN    B  12.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 2   NaN   8.0    C  13.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 3   4.0   9.0  NaN  14.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 4   5.0  10.0    E   NaN\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] DataFrame with NaN values filled with column means:\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]    col1   col2 col3  col4\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0   1.0   6.00    A  11.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 1   2.0   8.25    B  12.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 2   3.0   8.00    C  13.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 3   4.0   9.00  NaN  14.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 4   5.0  10.00    E  12.5\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]   Category  Value\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0        A   11.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 1        B   16.5\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 2        C   21.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]       Name    Age\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0    Alice   25.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 1      Bob    NaN\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 2  Charlie   30.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 3    David  105.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 4      Eve   40.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 5    Frank   90.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker]       Name   Age\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 0    Alice  25.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 1      Bob  40.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 2  Charlie  30.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 4      Eve  40.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] 5    Frank  90.0\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_column', 'clean_age_data', 'cleaned_sample_df', 'convert_to_datetime', 'count_missing_values', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_filled', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'get_dataframe_info', 'get_first_n_rows', 'group_by_mean', 'groupby_team_agg', 'grouped_means_df', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Final resolved student identity -> name='Vaishnavi Santosh Kavishetti', roll='2423381'\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [student_notebook (4) (1).ipynb][docker] [grader] results.json written with 47 rows.\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [50/66] Grading: student_notebook (4)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:54 | INFO     | [Docker] Starting grading for student_notebook (4)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Final resolved student identity -> name='shaurya', roll='2423374'\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(1).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [51/66] Grading: student_notebook (4)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [Docker] Starting grading for student_notebook (4)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Final resolved student identity -> name='Divit vats', roll='2423355'\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [student_notebook (4)(2).ipynb][docker] [grader] results.json written with 46 rows.\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [52/66] Grading: student_notebook (4).ipynb\u001b[0m\n",
      "\u001b[37m12:26:55 | INFO     | [Docker] Starting grading for student_notebook (4).ipynb\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Final resolved student identity -> name='shaurya', roll='2423374'\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [student_notebook (4).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [53/66] Grading: student_notebook Krishiv.ipynb\u001b[0m\n",
      "\u001b[37m12:26:56 | INFO     | [Docker] Starting grading for student_notebook Krishiv.ipynb\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'advanced_filter_and_create', 'clean_age_data', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_profit_range', 'get_summary_stats', 'group_by_mean', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Final resolved student identity -> name='Krishiv Karthikeyan', roll='2423362'\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Krishiv.ipynb][docker] [grader] results.json written with 40 rows.\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [54/66] Grading: student_notebook Nimrat Singh (3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [Docker] Starting grading for student_notebook Nimrat Singh (3).ipynb\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Final resolved student identity -> name='Nimrat Singh', roll='2423361'\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [student_notebook Nimrat Singh (3).ipynb][docker] [grader] results.json written with 48 rows.\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [55/66] Grading: student_notebook(1)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:57 | INFO     | [Docker] Starting grading for student_notebook(1)(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'drop_duplicates_by_cols', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Final resolved student identity -> name='Aradhya Mishra', roll='2423371'\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(1).ipynb][docker] [grader] results.json written with 42 rows.\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [56/66] Grading: student_notebook(1)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [Docker] Starting grading for student_notebook(1)(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Final resolved student identity -> name='Ashmith B Shetty', roll='2423378'\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker]            col1       col2\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] count  5.000000   5.000000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] mean   3.000000  12.300000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] std    1.581139   1.739253\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] min    1.000000  10.100000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] 25%    2.000000  11.200000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] 50%    3.000000  12.300000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] 75%    4.000000  13.400000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] max    5.000000  14.500000\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [student_notebook(1)(2).ipynb][docker] [grader] results.json written with 54 rows.\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [57/66] Grading: student_notebook(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:58 | INFO     | [Docker] Starting grading for student_notebook(1).ipynb\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Final resolved student identity -> name='devansh', roll='2423366'\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [student_notebook(1).ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [58/66] Grading: student_notebook(2).ipynb\u001b[0m\n",
      "\u001b[37m12:26:59 | INFO     | [Docker] Starting grading for student_notebook(2).ipynb\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Final resolved student identity -> name='Tejas Pandey', roll='2423352'\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(2).ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [59/66] Grading: student_notebook(3).ipynb\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [Docker] Starting grading for student_notebook(3).ipynb\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Final resolved student identity -> name='Ashmith B Shetty', roll='2423378'\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker]            col1       col2\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] count  5.000000   5.000000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] mean   3.000000  12.300000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] std    1.581139   1.739253\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] min    1.000000  10.100000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] 25%    2.000000  11.200000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] 50%    3.000000  12.300000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] 75%    4.000000  13.400000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] max    5.000000  14.500000\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [student_notebook(3).ipynb][docker] [grader] results.json written with 54 rows.\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [60/66] Grading: student_notebook(4).ipynb\u001b[0m\n",
      "\u001b[37m12:27:00 | INFO     | [Docker] Starting grading for student_notebook(4).ipynb\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Final resolved student identity -> name='Kapil Rawat', roll='2423356'\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(4).ipynb][docker] [grader] results.json written with 56 rows.\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [61/66] Grading: student_notebook(5).ipynb\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [Docker] Starting grading for student_notebook(5).ipynb\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'select_column']\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Final resolved student identity -> name='Sai_Shobhith', roll='2423351'\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [student_notebook(5).ipynb][docker] [grader] results.json written with 41 rows.\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [62/66] Grading: student_notebook(6).ipynb\u001b[0m\n",
      "\u001b[37m12:27:01 | INFO     | [Docker] Starting grading for student_notebook(6).ipynb\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [student_notebook(6).ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [student_notebook(6).ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [student_notebook(6).ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [student_notebook(6).ipynb][docker] [grader] Final resolved student identity -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [student_notebook(6).ipynb][docker] [grader] ❌ Fatal: student identity still matches instructor defaults. Skipping assertions.\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [63/66] Grading: student_notebook.ipynb\u001b[0m\n",
      "\u001b[37m12:27:02 | INFO     | [Docker] Starting grading for student_notebook.ipynb\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]      A    B     C\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0  1.0  5.0   9.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 1  2.0  NaN  10.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 2  NaN  7.0  11.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3  4.0  8.0   NaN\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## ✅ Cleaned DataFrame:\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]      A    B    C\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0  1.0  5.0  9.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## 📝 Original DataFrame:\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]      A    B     C      D\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0  1.0  5.0   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 1  2.0  NaN  10.0   beta\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 2  NaN  7.0  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3  4.0  8.0   NaN  delta\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## 📊 Column Means Calculated:\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] A     2.333333\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] B     6.666667\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] C    10.000000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## ✅ Imputed DataFrame:\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]           A         B     C      D\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0  1.000000  5.000000   9.0  alpha\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 1  2.000000  6.666667  10.0   beta\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 2  2.333333  7.000000  11.0  gamma\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3  4.000000  8.000000  10.0  delta\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## Original DataFrame\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0    Alice      55      70\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 1      Bob      30      65\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3    David      45      55\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 4      Eve      35      80\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 5    Frank      80      90\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ## Result DataFrame (Filtered & Calculated)\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0  Alice          62.5\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3  David          50.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 5  Frank          85.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ### 📊 Original DataFrame\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]       Name    Age  Score\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0    Alice   30.0     85\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 1      Bob    NaN     90\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 2  Charlie  150.0     78\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3    David   45.0     92\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 4      Eve   22.0     88\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 5    Frank    NaN     75\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 6    Grace  105.0     80\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] Original Median Age (used for imputation): 45.0\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ### ✨ Cleaned DataFrame\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]     Name   Age  Score\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 0  Alice  30.0     85\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 1    Bob  45.0     90\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 3  David  45.0     92\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 4    Eve  22.0     88\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 5  Frank  45.0     75\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] ----------------------------------------\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_column', 'clean_age_data', 'convert_to_datetime', 'data', 'describe_numeric', 'df', 'df_cleaned', 'df_imputed', 'df_original', 'df_result', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'numeric_cols_means', 'pd', 'process_scores', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Final resolved student identity -> name='devansh', roll='2423366'\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] <student_cell_30>:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker]              Age       Salary\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] count   4.000000      4.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] mean   29.500000  54250.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] std     4.203173   4349.32945\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] min    25.000000  50000.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 25%    27.250000  51500.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 50%    29.000000  53500.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] 75%    31.250000  56250.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] max    35.000000  60000.00000\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook.ipynb][docker] [grader] results.json written with 53 rows.\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [64/66] Grading: student_notebook2423343.ipynb\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [Docker] Starting grading for student_notebook2423343.ipynb\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'count_missing_values', 'describe_numeric', 'drop_duplicates_by_cols', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_summary_stats', 'group_and_calculate_mean', 'group_by_mean', 'groupby_team_agg', 'name', 'np', 'pd', 'roll_number', 'sample_df']\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Final resolved student identity -> name='Aarav Danani', roll='2423343'\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [student_notebook2423343.ipynb][docker] [grader] results.json written with 45 rows.\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [65/66] Grading: student_notebook_solved.ipynb\u001b[0m\n",
      "\u001b[37m12:27:03 | INFO     | [Docker] Starting grading for student_notebook_solved.ipynb\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'clean_age_data', 'convert_to_datetime', 'describe_numeric', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'groupby_team_agg', 'load_csv_string', 'merge_dataframes', 'name', 'np', 'pd', 'roll_number', 'sample_df', 'select_column']\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Final resolved student identity -> name='Lalit Mohan Kumar', roll='2423375'\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [student_notebook_solved.ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [66/66] Grading: vikram sinha 2423359.ipynb\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [Docker] Starting grading for vikram sinha 2423359.ipynb\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Starting grading...\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Instructor defaults -> name='student name', roll='student roll number'\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] <student_cell_40>:22: SettingWithCopyWarning: \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] A value is trying to be set on a copy of a slice from a DataFrame.\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] Try using .loc[row_indexer,col_indexer] = value instead\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Original DataFrame (df) ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]    Col_A  Col_B Col_C\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0   10.0    1.1     a\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1   20.0    NaN     b\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2    NaN    3.3     c\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3   40.0    4.4   NaN\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 4   50.0    5.5     e\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Final DataFrame (df_final) with NaNs Removed and Index Reset ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]    Col_A  Col_B Col_C\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0   10.0    1.1     a\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1   50.0    5.5     e\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Original DataFrame (df) ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]    Numeric_A  Numeric_B  Text_C  Numeric_D\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0       10.0        1.1   apple      100.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1       20.0        NaN  banana      200.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2        NaN        3.3  cherry      300.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3       40.0        4.4     NaN      400.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 4       50.0        5.5   grape        NaN\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Calculated Column Means ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] Numeric_A     30.000\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] Numeric_B      3.575\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] Numeric_D    250.000\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] dtype: float64\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Final DataFrame (df_imputed) with NaNs Replaced by Mean ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]    Numeric_A  Numeric_B  Text_C  Numeric_D\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0       10.0      1.100   apple      100.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1       20.0      3.575  banana      200.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2       30.0      3.300  cherry      300.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3       40.0      4.400     NaN      400.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 4       50.0      5.500   grape      250.0\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Original DataFrame (df) ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]   Category  Value_X  Value_Y\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0        A       10      100\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1        B        5      200\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2        A       12      100\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3        C        8      300\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 4        B        6      200\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 5        C        9      300\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 6        A       15      100\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 7        B        7      200\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Intermediate Result (Pandas Series) ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] Category\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] A    12.333333\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] B     6.000000\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] C     8.500000\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] Name: Value_X, dtype: float64\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Final Grouped DataFrame (df_grouped_mean) ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]   Category    Value_X\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0        A  12.333333\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1        B   6.000000\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2        C   8.500000\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Original DataFrame ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]   Item  Profit\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0    A      25\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1    B      30\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2    C      45\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3    D      55\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 4    E      60\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 5    F      35\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Filtered DataFrame (Profit between 30 and 55, inclusive) ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]   Item  Profit\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1    B      30\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2    C      45\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3    D      55\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 5    F      35\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Original DataFrame ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]       Name  Score1  Score2\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0    Alice      50      55\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 1      Bob      35      65\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 2  Charlie      60      45\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3    David      45      70\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 4      Eve      40      50\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] ------------------------------\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] \u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] --- Final Result DataFrame ---\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker]     Name  AverageScore\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 0  Alice          52.5\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] 3  David          57.5\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Namespace after execution: ['StringIO', 'add_updated_salary', 'advanced_filter_and_create', 'agg_col', 'clean_age_data', 'column_means', 'combined_mask', 'count_missing_values', 'data', 'df', 'df_cleaned', 'df_filtered', 'df_final', 'df_grouped_mean', 'df_imputed', 'drop_duplicates_by_cols', 'drop_rows_with_nan', 'fill_missing_college', 'fill_missing_with_mean', 'filter_by_threshold', 'filter_profit_range', 'get_dataframe_info', 'get_first_n_rows', 'get_summary_stats', 'group_by_mean', 'group_col', 'groupby_team_agg', 'grouped_series', 'load_csv_string', 'lower_bound', 'mask_lower', 'mask_upper', 'median_age', 'merge_dataframes', 'name', 'nan_counts_series', 'np', 'numeric_cols', 'pd', 'roll_number', 'sample_df', 'select_column', 'upper_bound']\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Final resolved student identity -> name='vikram sinha', roll='2423359'\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: load_csv_string\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: get_dataframe_info\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: get_first_n_rows\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: describe_numeric\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: select_column\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: filter_by_threshold\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: count_missing_values\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: drop_rows_with_nan\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: fill_missing_with_mean\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: group_by_mean\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: merge_dataframes\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: convert_to_datetime\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: drop_duplicates_by_cols\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: fill_missing_college\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: add_updated_salary\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: filter_profit_range\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: get_summary_stats\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: groupby_team_agg\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: advanced_filter_and_create\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] Evaluating question: clean_age_data\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [vikram sinha 2423359.ipynb][docker] [grader] results.json written with 51 rows.\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | Execution phase completed successfully.\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | [Reporting] Processed 2858 result rows.\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | Report generation complete.\u001b[0m\n",
      "\u001b[37m12:27:04 | INFO     | Total evaluation completed in 42.74s.\u001b[0m\n",
      "\u001b[37m12:27:05 | INFO     | HTML report generated at: reports/evaluation_report_retest_latest.html\u001b[0m\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'reports/evaluation_report_retest_latest.html'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from instantgrade.evaluator import Evaluator\n",
    "\n",
    "eval = Evaluator(\n",
    "    solution_file_path=\"./pandas_practice.ipynb\",\n",
    "    submission_folder_path=\"./latest_pandas\",\n",
    "    use_docker=True,       # or False for local test mode\n",
    "    log_path=\"./logs\",\n",
    "    log_level=\"normal\",\n",
    ")\n",
    "\n",
    "report = eval.run()\n",
    "eval.to_html(\"./reports/evaluation_report_retest_latest.html\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "Evaluator.summary() missing 1 required positional argument: 'all_results'",
     "output_type": "error",
     "traceback": [
      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
      "\u001b[31mTypeError\u001b[39m                                 Traceback (most recent call last)",
      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[6]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;43meval\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43msummary\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
      "\u001b[31mTypeError\u001b[39m: Evaluator.summary() missing 1 required positional argument: 'all_results'"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "x2JVLvRAu_lX"
   },
   "source": [
    "# EOF"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": ".venv (3.13.7)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
