PM SHRI
KENDRIYA VIDYALAYA NFC NAGAR
GHATKESAR
INFORMATICS PRACTICES PROJECT
Topic: IPL DATA ANALYSIS
SUBMITTED BY:
S. PRANAV SHARMA
Class 12
CERTIFICATE
This is to certify that S. PRANAV SHARMA of Class 12 has successfully completed the
Informatics Practices Project titled 'IPL DATA ANALYSIS' for CBSE Examination 2025 under
my guidance.
Principal
Mr. Hari Prasad
Subject Teacher
Chinmayee Satapathy (PGT–Informatics Practices)
ACKNOWLEDGEMENT
I express my heartfelt gratitude to my teacher Mrs. Chinmayee Satapathy for her guidance
during this project. I also thank our Principal Mr. Hari Prasad for providing the facilities
required. I am grateful to my classmates and parents for their support.
TABLE OF CONTENTS
- Introduction
- Objective of the Project
- Theoretical Background
- Hardware and Software Requirements
- Python Code
- Output
- Bibliography
INTRODUCTION
This project performs IPL Data Analysis using Python. It explores match outcomes, top
performers, closest wins, most successful teams, and season-wise match statistics using
Python libraries.
OBJECTIVE OF THE PROJECT
The aim is to analyze IPL dataset using Python, Pandas, and Matplotlib to extract meaningful
insights and understand match trends.
THEORETICAL BACKGROUND
Python is a high-level language widely used for data analysis. Pandas handles structured
data efficiently, while Matplotlib is used for visualization. CSV format stores tabular data
and is easy to process using Pandas.
HARDWARE AND SOFTWARE REQUIREMENTS
Hardware:
- Windows Laptop
- Minimum 4GB RAM
Software:
- Python 3.x
- Pandas Library
- Matplotlib Library
- Code Editor
PYTHON CODE
import numpy as np
import pandas as pd
import [Link] as plt
[Link]['[Link]'] = (14, 8)
df = pd.read_csv("ipl_matches_200 [Link]")
print([Link]())
print("Total Matches are:", df['id'].max())
print(df['season'].unique())
print([Link][df['win_by_runs'].idxmax()])
print([Link][df['win_by_wickets'].idxmax()])
print([Link][df[df['win_by_runs'] >= 1].win_by_runs.idxmin()])
print([Link][df[df['win_by_wickets'] >= 1].win_by_wickets.idxmin()])
season_counts = df['season'].value_counts().sort_index()
print(season_counts)
winner_counts = df['winner'].value_counts()
print(winner_counts.idxmax())
top_players = df['player_of_match'].value_counts().head(10)
print(top_players)
OUTPUT
<class '[Link]'>
RangeIndex: 200 entries, 0 to 199
Data columns (total 17 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 id 200 non-null int64
1 season 200 non-null int64
2 city 200 non-null object
3 date 200 non-null object
4 team1 200 non-null object
5 team2 200 non-null object
6 toss_winner 200 non-null object
7 toss_decision 200 non-null object
8 result 200 non-null object
9 dl_applied 200 non-null int64
10 winner 200 non-null object
11 win_by_runs 200 non-null int64
12 win_by_wickets 200 non-null int64
13 player_of_match 200 non-null object
14 venue 200 non-null object
15 umpire1 200 non-null object
16 umpire2 200 non-null object
dtypes: int64(5), object(12)
memory usage: 26.7 KB
Total Matches are: 200
Seasons in the Dataset:
[2021 2022 2023 2024 2025]
Team with Maximum Run Win:
MI won by 60 runs (vs RCB)
Team with Maximum Wicket Win:
RCB won by 10 wickets (vs GT)
Closest Win by Minimum Runs:
RR won by 1 run (vs GT)
Minimum Wicket Win:
CSK won by 4 wickets (vs GT)
Matches Per Season:
2021 – 40 matches
2022 – 40 matches
2023 – 40 matches
2024 – 40 matches
2025 – 40 matches
Most Successful IPL Team:
SRH
Top Man of the Match Players:
Rohit – 39
Kohli – 34
Maxwell – 33
Pant – 27
Buttler – 24
Gill – 23
Dhoni – 20
BIBLIOGRAPHY
- Python Documentation
- Pandas Documentation
- Matplotlib Documentation
- CBSE Informatics Practices Textbook
FULL RAW OUTPUT (AS PROVIDED)
%runfile C:/Users/SWATHI/.spyder-py3/[Link] --wdir
<class '[Link]'>
RangeIndex: 200 entries, 0 to 199
Data columns (total 17 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 id 200 non-null int64
1 season 200 non-null int64
2 city 200 non-null object
3 date 200 non-null object
4 team1 200 non-null object
5 team2 200 non-null object
6 toss_winner 200 non-null object
7 toss_decision 200 non-null object
8 result 200 non-null object
9 dl_applied 200 non-null int64
10 winner 200 non-null object
11 win_by_runs 200 non-null int64
12 win_by_wickets 200 non-null int64
13 player_of_match 200 non-null object
14 venue 200 non-null object
15 umpire1 200 non-null object
16 umpire2 200 non-null object
dtypes: int64(5), object(12)
memory usage: 26.7+ KB
None
Total Matches are: 200
How many seasons are in the dataset?
[2021 2022 2023 2024 2025]
Which team won by maximum runs?
id 69
season 2022
city Jaipur
date 08-06-2022
team1 RCB
team2 MI
toss_winner MI
toss_decision field
result normal
dl_applied 0
winner MI
win_by_runs 60
win_by_wickets 0
player_of_match Pant
venue Narendra Modi
umpire1 Chaudhary
umpire2 Menon
Name: 68, dtype: object
Which team won by maximum wickets?
id 48
season 2022
city Mumbai
date 20-12-2022
team1 RCB
team2 GT
toss_winner GT
toss_decision field
result normal
dl_applied 0
winner RCB
win_by_runs 0
win_by_wickets 10
player_of_match Maxwell
venue Chepauk
umpire1 Gaffaney
umpire2 Gough
Name: 47, dtype: object
Which team won by (closest margin) minimum runs?
id 55
season 2022
city Mumbai
date 24-04-2022
team1 RR
team2 GT
toss_winner RR
toss_decision bat
result normal
dl_applied 0
winner RR
win_by_runs 1
win_by_wickets 0
player_of_match Gill
venue Kotla
umpire1 Gough
umpire2 Nandan
Name: 54, dtype: object
Which team won by minimum wickets?
id 168
season 2025
city Pune
date 06-09-2025
team1 CSK
team2 GT
toss_winner CSK
toss_decision bat
result normal
dl_applied 0
winner CSK
win_by_runs 0
win_by_wickets 4
player_of_match Dhoni
venue MCA
umpire1 Brown
umpire2 Gaffaney
Name: 167, dtype: object
Which season had the most number of matches?
season
2021 40
2022 40
2023 40
2024 40
2025 40
Name: count, dtype: int64
Important
Figures are displayed in the Plots pane by default. To make them also appear inline in the
console, you need to uncheck "Mute inline plotting" under the options menu of Plots.
The Most Successful IPL Team is:
SRH
Top Players who won Man of the Match (Top 10):
player_of_match
Rohit 39
Kohli 34
Maxwell 33
Pant 27
Buttler 24
Gill 23
Dhoni 20
Name: count, dtype: int64