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()

# 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()

# 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