Student

Mon 30 June 2025
    pip install pandas
Collecting pandas
  Downloading pandas-2.3.0-cp312-cp312-win_amd64.whl.metadata (19 kB)
Requirement already satisfied: numpy>=1.26.0 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from pandas) (2.3.1)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from pandas) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from pandas) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from pandas) (2025.2)
Requirement already satisfied: six>=1.5 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)
Downloading pandas-2.3.0-cp312-cp312-win_amd64.whl (11.0 MB)
   ---------------------------------------- 0.0/11.0 MB ? eta -:--:--
   -- ------------------------------------- 0.8/11.0 MB 8.5 MB/s eta 0:00:02
   --- ------------------------------------ 1.0/11.0 MB 2.3 MB/s eta 0:00:05
   --- ------------------------------------ 1.0/11.0 MB 2.3 MB/s eta 0:00:05
   ----- ---------------------------------- 1.6/11.0 MB 2.0 MB/s eta 0:00:05
   ------ --------------------------------- 1.8/11.0 MB 1.7 MB/s eta 0:00:06
   ------ --------------------------------- 1.8/11.0 MB 1.7 MB/s eta 0:00:06
   -------- ------------------------------- 2.4/11.0 MB 1.6 MB/s eta 0:00:06
   --------- ------------------------------ 2.6/11.0 MB 1.5 MB/s eta 0:00:06
   ---------- ----------------------------- 2.9/11.0 MB 1.6 MB/s eta 0:00:06
   ----------- ---------------------------- 3.1/11.0 MB 1.5 MB/s eta 0:00:06
   ------------ --------------------------- 3.4/11.0 MB 1.5 MB/s eta 0:00:06
   ------------- -------------------------- 3.7/11.0 MB 1.5 MB/s eta 0:00:05
   -------------- ------------------------- 3.9/11.0 MB 1.5 MB/s eta 0:00:05
   -------------- ------------------------- 3.9/11.0 MB 1.5 MB/s eta 0:00:05
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   --------------- ------------------------ 4.2/11.0 MB 1.3 MB/s eta 0:00:06
   ---------------- ----------------------- 4.5/11.0 MB 787.2 kB/s eta 0:00:09
   ---------------- ----------------------- 4.5/11.0 MB 787.2 kB/s eta 0:00:09
   ---------------- ----------------------- 4.5/11.0 MB 787.2 kB/s eta 0:00:09
   ---------------- ----------------------- 4.5/11.0 MB 787.2 kB/s eta 0:00:09
   ---------------- ----------------------- 4.5/11.0 MB 787.2 kB/s eta 0:00:09
   ------------------ --------------------- 5.0/11.0 MB 745.7 kB/s eta 0:00:09
   ------------------ --------------------- 5.0/11.0 MB 745.7 kB/s eta 0:00:09
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   -------------------- ------------------- 5.5/11.0 MB 782.2 kB/s eta 0:00:07
   --------------------- ------------------ 5.8/11.0 MB 656.1 kB/s eta 0:00:08
   --------------------- ------------------ 6.0/11.0 MB 671.1 kB/s eta 0:00:08
   ---------------------- ----------------- 6.3/11.0 MB 684.2 kB/s eta 0:00:07
   ----------------------- ---------------- 6.6/11.0 MB 694.3 kB/s eta 0:00:07
   ------------------------ --------------- 6.8/11.0 MB 707.4 kB/s eta 0:00:06
   ------------------------- -------------- 7.1/11.0 MB 719.9 kB/s eta 0:00:06
   ------------------------- -------------- 7.1/11.0 MB 719.9 kB/s eta 0:00:06
   --------------------------- ------------ 7.6/11.0 MB 739.8 kB/s eta 0:00:05
   ---------------------------- ----------- 7.9/11.0 MB 755.5 kB/s eta 0:00:05
   ----------------------------- ---------- 8.1/11.0 MB 764.9 kB/s eta 0:00:04
   ------------------------------ --------- 8.4/11.0 MB 773.9 kB/s eta 0:00:04
   ------------------------------- -------- 8.7/11.0 MB 780.3 kB/s eta 0:00:03
   ------------------------------- -------- 8.7/11.0 MB 780.3 kB/s eta 0:00:03
   -------------------------------- ------- 8.9/11.0 MB 785.4 kB/s eta 0:00:03
   --------------------------------- ------ 9.2/11.0 MB 796.7 kB/s eta 0:00:03
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ---------------------------------- ----- 9.4/11.0 MB 803.3 kB/s eta 0:00:02
   ----------------------------------- ---- 9.7/11.0 MB 702.3 kB/s eta 0:00:02
   ----------------------------------- ---- 9.7/11.0 MB 702.3 kB/s eta 0:00:02
   ----------------------------------- ---- 9.7/11.0 MB 702.3 kB/s eta 0:00:02
   ----------------------------------- ---- 9.7/11.0 MB 702.3 kB/s eta 0:00:02
   ------------------------------------- -- 10.2/11.0 MB 703.7 kB/s eta 0:00:02
   -------------------------------------- - 10.5/11.0 MB 715.1 kB/s eta 0:00:01
   ---------------------------------------  10.7/11.0 MB 723.2 kB/s eta 0:00:01
   ---------------------------------------- 11.0/11.0 MB 729.5 kB/s eta 0:00:00
Installing collected packages: pandas
Successfully installed pandas-2.3.0
Note: you may need to restart the kernel to use updated packages.
pip install numpy
Requirement already satisfied: numpy in c:\users\hp\miniconda3\envs\py312\lib\site-packages (2.3.1)
Note: you may need to restart the kernel to use updated packages.
pip install matplotlib
Collecting matplotlib
  Downloading matplotlib-3.10.3-cp312-cp312-win_amd64.whl.metadata (11 kB)
Collecting contourpy>=1.0.1 (from matplotlib)
  Downloading contourpy-1.3.2-cp312-cp312-win_amd64.whl.metadata (5.5 kB)
Collecting cycler>=0.10 (from matplotlib)
  Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)
Collecting fonttools>=4.22.0 (from matplotlib)
  Downloading fonttools-4.58.4-cp312-cp312-win_amd64.whl.metadata (108 kB)
Collecting kiwisolver>=1.3.1 (from matplotlib)
  Downloading kiwisolver-1.4.8-cp312-cp312-win_amd64.whl.metadata (6.3 kB)
Requirement already satisfied: numpy>=1.23 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from matplotlib) (2.3.1)
Requirement already satisfied: packaging>=20.0 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from matplotlib) (24.2)
Collecting pillow>=8 (from matplotlib)
  Downloading pillow-11.2.1-cp312-cp312-win_amd64.whl.metadata (9.1 kB)
Collecting pyparsing>=2.3.1 (from matplotlib)
  Downloading pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from matplotlib) (2.9.0.post0)
Requirement already satisfied: six>=1.5 in c:\users\hp\miniconda3\envs\py312\lib\site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)
Downloading matplotlib-3.10.3-cp312-cp312-win_amd64.whl (8.1 MB)
   ---------------------------------------- 0.0/8.1 MB ? eta -:--:--
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --- ------------------------------------ 0.8/8.1 MB 6.7 MB/s eta 0:00:02
   --------- ------------------------------ 1.8/8.1 MB 428.3 kB/s eta 0:00:15
   --------- ------------------------------ 1.8/8.1 MB 428.3 kB/s eta 0:00:15
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ----------- ---------------------------- 2.4/8.1 MB 518.2 kB/s eta 0:00:12
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   ------------ --------------------------- 2.6/8.1 MB 377.5 kB/s eta 0:00:15
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   -------------- ------------------------- 2.9/8.1 MB 284.4 kB/s eta 0:00:19
   --------------- ------------------------ 3.1/8.1 MB 248.1 kB/s eta 0:00:20
   --------------- ------------------------ 3.1/8.1 MB 248.1 kB/s eta 0:00:20
   --------------- ------------------------ 3.1/8.1 MB 248.1 kB/s eta 0:00:20
   --------------- ------------------------ 3.1/8.1 MB 248.1 kB/s eta 0:00:20
   --------------- ------------------------ 3.1/8.1 MB 248.1 kB/s eta 0:00:20
   ------------------ --------------------- 3.7/8.1 MB 267.3 kB/s eta 0:00:17
   ------------------ --------------------- 3.7/8.1 MB 267.3 kB/s eta 0:00:17
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   -------------------- ------------------- 4.2/8.1 MB 296.8 kB/s eta 0:00:14
   ----------------------- ---------------- 4.7/8.1 MB 291.6 kB/s eta 0:00:12
   ------------------------ --------------- 5.0/8.1 MB 304.7 kB/s eta 0:00:11
   ------------------------- -------------- 5.2/8.1 MB 317.2 kB/s eta 0:00:09
   --------------------------- ------------ 5.5/8.1 MB 328.3 kB/s eta 0:00:08
   --------------------------- ------------ 5.5/8.1 MB 328.3 kB/s eta 0:00:08
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ---------------------------- ----------- 5.8/8.1 MB 337.8 kB/s eta 0:00:07
   ----------------------------- ---------- 6.0/8.1 MB 319.3 kB/s eta 0:00:07
   ----------------------------- ---------- 6.0/8.1 MB 319.3 kB/s eta 0:00:07
   ------------------------------- -------- 6.3/8.1 MB 324.5 kB/s eta 0:00:06
   ------------------------------- -------- 6.3/8.1 MB 324.5 kB/s eta 0:00:06
   --------------------------------- ------ 6.8/8.1 MB 344.4 kB/s eta 0:00:04
   --------------------------------- ------ 6.8/8.1 MB 344.4 kB/s eta 0:00:04
   ------------------------------------ --- 7.3/8.1 MB 364.1 kB/s eta 0:00:02
   ------------------------------------ --- 7.3/8.1 MB 364.1 kB/s eta 0:00:02
   ------------------------------------- -- 7.6/8.1 MB 371.9 kB/s eta 0:00:02
   ---------------------------------------- 8.1/8.1 MB 388.8 kB/s eta 0:00:00
Downloading contourpy-1.3.2-cp312-cp312-win_amd64.whl (223 kB)
Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)
Downloading fonttools-4.58.4-cp312-cp312-win_amd64.whl (2.2 MB)
   ---------------------------------------- 0.0/2.2 MB ? eta -:--:--
   ---------------------------------------- 0.0/2.2 MB ? eta -:--:--
   ---------------------------------------- 0.0/2.2 MB ? eta -:--:--
   ---- ----------------------------------- 0.3/2.2 MB ? eta -:--:--
   ---- ----------------------------------- 0.3/2.2 MB ? eta -:--:--
   ---- ----------------------------------- 0.3/2.2 MB ? eta -:--:--
   ---- ----------------------------------- 0.3/2.2 MB ? eta -:--:--
   ---- ----------------------------------- 0.3/2.2 MB ? eta -:--:--
   --------- ------------------------------ 0.5/2.2 MB 284.3 kB/s eta 0:00:07
   --------- ------------------------------ 0.5/2.2 MB 284.3 kB/s eta 0:00:07
   --------- ------------------------------ 0.5/2.2 MB 284.3 kB/s eta 0:00:07
   --------- ------------------------------ 0.5/2.2 MB 284.3 kB/s eta 0:00:07
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   -------------- ------------------------- 0.8/2.2 MB 286.8 kB/s eta 0:00:06
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ------------------ --------------------- 1.0/2.2 MB 197.4 kB/s eta 0:00:07
   ----------------------- ---------------- 1.3/2.2 MB 184.9 kB/s eta 0:00:06
   ----------------------- ---------------- 1.3/2.2 MB 184.9 kB/s eta 0:00:06
   ---------------------------- ----------- 1.6/2.2 MB 218.5 kB/s eta 0:00:04
   -------------------------------- ------- 1.8/2.2 MB 251.1 kB/s eta 0:00:02
   ------------------------------------- -- 2.1/2.2 MB 281.0 kB/s eta 0:00:01
   ---------------------------------------- 2.2/2.2 MB 300.9 kB/s eta 0:00:00
Downloading kiwisolver-1.4.8-cp312-cp312-win_amd64.whl (71 kB)
Downloading pillow-11.2.1-cp312-cp312-win_amd64.whl (2.7 MB)
   ---------------------------------------- 0.0/2.7 MB ? eta -:--:--
   ---------------------------------------- 0.0/2.7 MB ? eta -:--:--
   ------- -------------------------------- 0.5/2.7 MB 5.6 MB/s eta 0:00:01
   ----------- ---------------------------- 0.8/2.7 MB 1.6 MB/s eta 0:00:02
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 1.0/2.7 MB 1.8 MB/s eta 0:00:01
   ------------------- -------------------- 1.3/2.7 MB 392.4 kB/s eta 0:00:04
   ------------------- -------------------- 1.3/2.7 MB 392.4 kB/s eta 0:00:04
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ----------------------- ---------------- 1.6/2.7 MB 419.4 kB/s eta 0:00:03
   ------------------------------- -------- 2.1/2.7 MB 364.7 kB/s eta 0:00:02
   ------------------------------- -------- 2.1/2.7 MB 364.7 kB/s eta 0:00:02
   ---------------------------------------- 2.7/2.7 MB 440.2 kB/s eta 0:00:00
Downloading pyparsing-3.2.3-py3-none-any.whl (111 kB)
Installing collected packages: pyparsing, pillow, kiwisolver, fonttools, cycler, contourpy, matplotlib

   ----- ---------------------------------- 1/7 [pillow]
   ----- ---------------------------------- 1/7 [pillow]
   ----- ---------------------------------- 1/7 [pillow]
   ----- ---------------------------------- 1/7 [pillow]
   ----- ---------------------------------- 1/7 [pillow]
   ----- ---------------------------------- 1/7 [pillow]
   ----- ---------------------------------- 1/7 [pillow]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ----------------- ---------------------- 3/7 [fonttools]
   ---------------------- ----------------- 4/7 [cycler]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------- ----- 6/7 [matplotlib]
   ---------------------------------------- 7/7 [matplotlib]

Successfully installed contourpy-1.3.2 cycler-0.12.1 fonttools-4.58.4 kiwisolver-1.4.8 matplotlib-3.10.3 pillow-11.2.1 pyparsing-3.2.3
Note: you may need to restart the kernel to use updated packages.
# Import required libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Define student data
students = [
    {"name": "Alice", "math": 88, "science": 92, "english": 85},
    {"name": "Bob", "math": 72, "science": 78, "english": 70},
    {"name": "Charlie", "math": 90, "science": 95, "english": 93},
    {"name": "David", "math": 65, "science": 60, "english": 58},
    {"name": "Eva", "math": 100, "science": 98, "english": 97}
]
# Create DataFrame
df = pd.DataFrame(students)
df
name math science english
0 Alice 88 92 85
1 Bob 72 78 70
2 Charlie 90 95 93
3 David 65 60 58
4 Eva 100 98 97
# Calculate total and average
df["Total"] = df[["math", "science", "english"]].sum(axis=1)
df["Average"] = df["Total"] / 3
df
name math science english Total Average
0 Alice 88 92 85 265 88.333333
1 Bob 72 78 70 220 73.333333
2 Charlie 90 95 93 278 92.666667
3 David 65 60 58 183 61.000000
4 Eva 100 98 97 295 98.333333
# Define grade calculator
def grade(avg):
    if avg >= 90:
        return "A+"
    elif avg >= 80:
        return "A"
    elif avg >= 70:
        return "B"
    elif avg >= 60:
        return "C"
    else:
        return "F"
# Apply grade
df["Grade"] = df["Average"].apply(grade)
df
name math science english Total Average Grade
0 Alice 88 92 85 265 88.333333 A
1 Bob 72 78 70 220 73.333333 B
2 Charlie 90 95 93 278 92.666667 A+
3 David 65 60 58 183 61.000000 C
4 Eva 100 98 97 295 98.333333 A+
# Find topper
topper = df.loc[df["Total"].idxmax()]
print("Topper:\n", topper)
Topper:
 name             Eva
math             100
science           98
english           97
Total            295
Average    98.333333
Grade             A+
Name: 4, dtype: object
# Count grades
df["Grade"].value_counts()
Grade
A+    2
A     1
B     1
C     1
Name: count, dtype: int64
# Plot total marks
plt.figure(figsize=(8,5))
plt.bar(df["name"], df["Total"], color="skyblue")
plt.title("Student Total Marks")
plt.xlabel("Name")
plt.ylabel("Total Marks")
plt.show()

png

# Plot grades pie chart
plt.pie(df["Grade"].value_counts(), labels=df["Grade"].value_counts().index, autopct="%1.1f%%", startangle=90)
plt.title("Grade Distribution")
plt.show()

png

# Find subject-wise highest scorer
highest_math = df.loc[df["math"].idxmax()]
highest_science = df.loc[df["science"].idxmax()]
highest_english = df.loc[df["english"].idxmax()]
print("Topper in Math:", highest_math["name"])
print("Topper in Science:", highest_science["name"])
print("Topper in English:", highest_english["name"])
Topper in Math: Eva
Topper in Science: Eva
Topper in English: Eva
# Add Pass/Fail column
df["Result"] = df["Grade"].apply(lambda x: "Pass" if x != "F" else "Fail")
df
name math science english Total Average Grade Result
0 Alice 88 92 85 265 88.333333 A Pass
1 Bob 72 78 70 220 73.333333 B Pass
2 Charlie 90 95 93 278 92.666667 A+ Pass
3 David 65 60 58 183 61.000000 C Pass
4 Eva 100 98 97 295 98.333333 A+ Pass
# Count Pass and Fail
df["Result"].value_counts()
Result
Pass    5
Name: count, dtype: int64
# Save to CSV
df.to_csv("student_report.csv", index=False)


Score: 15

Category: basics