Numpy
NumPy (Numerical Python)
1. Introduction to NumPy (5 Minutes)
What is NumPy?
NumPy stands for Numerical Python.
It is a Python library used for:
o Mathematical operations
o Scientific computing
o Data analysis
o Machine Learning
Why NumPy?
Faster than Python Lists
Less memory usage
Supports multidimensional arrays
Provides many built-in mathematical functions
Installation
pip install numpy
Import NumPy
import numpy as np
2. Creating NumPy Arrays (10 Minutes)
Using List
import numpy as np
arr = [Link]([10,20,30,40,50])
print(arr)
print(type(arr))
Output
[10 20 30 40 50]
<class '[Link]'>
Two-Dimensional Array
arr = [Link]([
[1,2,3],
[4,5,6]
])
print(arr)
Output
[[1 2 3]
[4 5 6]]
Array Properties
arr = [Link]([
[1,2,3],
[4,5,6]
])
print([Link])
print([Link])
print([Link])
print([Link])
Output
(2,3)
int32
Important Terms
Property Meaning
ndim Number of dimensions
shape Rows and columns
size Total elements
Property Meaning
dtype Data type
3. Special Arrays (5 Minutes)
Zeros
print([Link]((2,3)))
Output
[[0. 0. 0.]
[0. 0. 0.]]
Ones
print([Link]((2,2)))
Output
[[1. 1.]
[1. 1.]]
Identity Matrix
print([Link](3))
Output
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
Range
print([Link](1,11))
Output
[1 2 3 4 5 6 7 8 9 10]
4. Indexing and Slicing (10 Minutes)
Access Elements
arr = [Link]([10,20,30,40,50])
print(arr[0])
print(arr[2])
Output
10
30
Slicing
print(arr[1:4])
Output
[20 30 40]
2D Indexing
arr = [Link]([
[10,20,30],
[40,50,60]
])
print(arr[0,1])
print(arr[1,2])
Output
20
60
5. Mathematical Operations (10 Minutes)
Addition
a = [Link]([1,2,3])
b = [Link]([4,5,6])
print(a+b)
Output
[5 7 9]
Subtraction
print(a-b)
Output
[-3 -3 -3]
Multiplication
print(a*b)
Output
[4 10 18]
Division
print(a/b)
Output
[0.25 0.4 0.5]
Square Root
print([Link](a))
Output
[1. 1.41421356 1.73205081]
6. Statistical Functions (5 Minutes)
arr = [Link]([10,20,30,40,50])
print([Link](arr))
Output
150
Mean
print([Link](arr))
Output
30.0
Maximum
print([Link](arr))
Output
50
Minimum
print([Link](arr))
Output
10
Standard Deviation
print([Link](arr))
7. Reshape and Flatten (5 Minutes)
Reshape
arr = [Link](1,13)
print([Link](3,4))
Output
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
Flatten
arr = [Link]([
[1,2],
[3,4]
])
print([Link]())
Output
[1 2 3 4]
8. Random Numbers (3 Minutes)
print([Link](3))
Output
[0.45 0.12 0.89]
Random Integers
print([Link](1,100,5))
Output
[23 45 78 12 67]
9. Real-Time Examples (5 Minutes)
Student Marks Analysis
import numpy as np
marks = [Link]([80,90,75,88,95])
print("Total :", [Link](marks))
print("Average :", [Link](marks))
print("Highest :", [Link](marks))
print("Lowest :", [Link](marks))
Output
Total : 428
Average : 85.6
Highest : 95
Lowest : 75
Salary Analysis
salary = [Link]([25000,30000,28000,35000,40000])
print("Average Salary:", [Link](salary))
print("Max Salary:", [Link](salary))
Pandas
Pandas - Complete Beginner Session (1 Hour)
What is Pandas?
Pandas is an open-source Python library used for:
Data Analysis
Data Cleaning
Data Manipulation
Data Visualization Preparation
Machine Learning Data Preprocessing
Pandas works mainly with tabular data (rows and columns), similar to Excel sheets or database
tables.
Why Pandas?
Easy to read CSV and Excel files
Fast data analysis
Handle missing values
Filter and sort data
Perform statistical analysis
Installation
pip install pandas
Import Pandas:
import pandas as pd
Core Data Structures
Pandas has two important data structures:
1. Series (1-Dimensional)
Like a single column.
import pandas as pd
marks = [Link]([80, 90, 70, 85])
print(marks)
Output:
0 80
1 90
2 70
3 85
dtype: int64
2. DataFrame (2-Dimensional)
Like an Excel table.
import pandas as pd
data = {
"Name": ["John", "Mary", "David"],
"Age": [22, 24, 21]
df = [Link](data)
print(df)
Output:
Name Age
0 John 22
1 Mary 24
2 David 21
Creating DataFrames
From Dictionary
students = {
"Name": ["Arun", "Priya", "Kumar"],
"Marks": [85, 90, 78]
df = [Link](students)
print(df)
From List
data = [
["Arun", 85],
["Priya", 90],
["Kumar", 78]
df = [Link](data, columns=["Name", "Marks"])
print(df)
Sample Excel Data ([Link])
ID Name Age Marks City
1 Arun 21 85 Chennai
2 Priya 22 90 Madurai
3 Karthik 20 75 Trichy
4 Divya 23 88 Salem
5 Ravi 21 65 Coimbatore
1. Reading Files
import pandas as pd
# Read Excel File
df = pd.read_excel("[Link]")
print(df)
Output
ID Name Age Marks City
1 Arun 21 85 Chennai
2 Priya 22 90 Madurai
3 Karthik 20 75 Trichy
4 Divya 23 88 Salem
5 Ravi 21 65 Coimbatore
2. Viewing Data
First 5 Rows
print([Link]())
First 3 Rows
print([Link](3))
Output
ID Name Age Marks City
1 Arun 21 85 Chennai
2 Priya 22 90 Madurai
3 Karthik 20 75 Trichy
Last 5 Rows
print([Link]())
3. Dataset Information
Shape
print([Link])
Output
(5, 5)
Meaning:
5 Rows
5 Columns
Column Names
print([Link])
Output
Index(['ID', 'Name', 'Age', 'Marks', 'City'], dtype='object')
Data Types
print([Link])
Output
ID int64
Name object
Age int64
Marks int64
City object
dtype: object
Complete Information
print([Link]())
Output
<class '[Link]'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 5 columns):
4. Selecting Data
Single Column
print(df["Name"])
Output
0 Arun
1 Priya
2 Karthik
3 Divya
4 Ravi
Multiple Columns
print(df[["Name", "Marks"]])
Output
Name Marks
Arun 85
Priya 90
Karthik 75
Divya 88
Ravi 65
5. Row Selection
Using loc
print([Link][0])
Output
ID 1
Name Arun
Age 21
Marks 85
City Chennai
Multiple Rows
print([Link][0:2])
Output
ID Name Age Marks City
1 Arun 21 85 Chennai
2 Priya 22 90 Madurai
3 Karthik 20 75 Trichy
Using iloc
print([Link][0])
Specific Row and Column
print([Link][1,1])
Output
Priya
6. Filtering Data
Students Scored Above 80
result = df[df["Marks"] > 80]
print(result)
Output
Name Marks
Arun 85
Priya 90
Divya 88
Multiple Conditions
result = df[
(df["Marks"] > 80) &
(df["Age"] > 21)
]
print(result)
Output
Name Age Marks
Priya 22 90
Divya 23 88
7. Adding New Columns
Percentage
df["Percentage"] = df["Marks"]
print(df)
Output
Name Marks Percentage
Arun 85 85
Priya 90 90
Karthik 75 75
Divya 88 88
Ravi 65 65
Bonus Marks
df["UpdatedMarks"] = df["Marks"] + 5
print(df)
Output
Name Marks UpdatedMarks
Arun 85 90
Priya 90 95
Karthik 75 80
Divya 88 93
Ravi 65 70
8. Updating Data
[Link][0, "Marks"] = 95
print(df)
Output
Name Marks
Arun 95
Priya 90
Karthik 75
Divya 88
Ravi 65
9. Deleting Columns
[Link]("Percentage", axis=1, inplace=True)
print(df)
10. Sorting Data
Ascending Order
print(df.sort_values("Marks"))
Output
Name Marks
Ravi 65
Karthik 75
Divya 88
Priya 90
Arun 95
Descending Order
print(df.sort_values("Marks", ascending=False))
Output
Name Marks
Arun 95
Priya 90
Divya 88
Karthik 75
Ravi 65
11. Statistical Functions
Sample Data
import pandas as pd
marks = [Link]({
"Marks": [85, 90, 75, 88, 65]
})
Sum
print(marks["Marks"].sum())
Output
403
Average
print(marks["Marks"].mean())
Output
80.6
Maximum
print(marks["Marks"].max())
Output
90
Minimum
print(marks["Marks"].min())
Output
65
Standard Deviation
print(marks["Marks"].std())
Output
10.99
12. Handling Missing Values
Dataset
import pandas as pd
import numpy as np
data = {
"Name": ["Arun", "Priya", None],
"Marks": [80, [Link], 90]
df = [Link](data)
print(df)
Output
Name Marks
Arun 80
Priya NaN
None 90
Check Missing Values
print([Link]())
Output
Name Marks
False False
False True
True False
Count Missing Values
print([Link]().sum())
Output
Name 1
Marks 1
dtype: int64
Remove Missing Rows
[Link]()
Output
Name Marks
Arun 80
Fill Missing Values
[Link](0)
Output
Name Marks
Arun 80
Priya 0
0 90
GroupBy Operation
Dataset:
data = {
"Department": ["IT", "HR", "IT", "HR"],
"Salary": [50000, 40000, 60000, 45000]
df = [Link](data)
Group By Department
print([Link]("Department")["Salary"].mean())
Output:
Department
HR 42500
IT 55000
Merge DataFrames
emp = [Link]({
"ID": [1, 2, 3],
"Name": ["John", "Mary", "David"]
})
salary = [Link]({
"ID": [1, 2, 3],
"Salary": [50000, 60000, 70000]
})
result = [Link](emp, salary, on="ID")
print(result)
Export Data
Save CSV
df.to_csv("[Link]", index=False)
Save Excel
df.to_excel("[Link]", index=False)
Real-Time Example: Student Performance Analysis
import pandas as pd
students = {
"Name": ["Arun", "Priya", "Kumar", "Divya"],
"Marks": [85, 92, 78, 88]
df = [Link](students)
print("Average Marks:", df["Marks"].mean())
print("Highest Marks:", df["Marks"].max())
print("Lowest Marks:", df["Marks"].min())
top_students = df[df["Marks"] > 80]
print(top_students)
Output:
Average Marks: 85.75
Highest Marks: 92
Lowest Marks: 78
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++