Lesson 28 � Data Science
PANDAS:
DATA ANALYSIS.
Pandas data analysis ka sabse popular library hai � CSV, Excel, databases se data load karo, clean karo, analyze karo. Data scientists daily use karte hain. Ye lesson sikhaega ki Pandas se tables kaise banate ho, data filter karte ho, aur insights nikalte ho.
WHY: Pandas kyun zaroori hai?
Socho aapke paas 1000 students ka data hai � names, marks, attendance. Excel mein thik hai, but jab data lakhs ka ho ya analysis complex ho, tab Pandas hai. Pandas se aap CSV read kar sakte ho, columns filter kar sakte ho, group banake average nikal sakte ho � sab Python code se, manually nahi. Har data science project mein Pandas step 1 hota hai.
Table jaisa data structure � rows aur columns ka 2D collection.
Single column ya row ka 1D array � DataFrame ka ek piece.
Data select karna by label (loc) ya by integer position (iloc).
Data ko groups mein baant ke aggregate calculations karna.
WHEN: kab use hota hai
Pandas tab use hota hai jab aapko tabular data handle karna ho � CSV files parse karna, database results analyze karna, Excel sheets process karna, ya web scraping ka data clean karna. Data cleaning, transformation, aur analysis � teeno Pandas se hota hai.
HOW: Pandas operations
DataFrame banana
import pandas as pd
# Dictionary se DataFrame
data = {
"Name": ["Aman", "Priya", "Rahul"],
"Age": [22, 21, 23],
"Marks": [85, 92, 78]
}
df = pd.DataFrame(data)
print(df)
# Name Age Marks
# 0 Aman 22 85
# 1 Priya 21 92
# 2 Rahul 23 78pd.DataFrame() dictionary se table bana deta hai. Keys column names ban jaate hain, values rows mein aate hain.
CSV file read karna
import pandas as pd
# CSV read karo
df = pd.read_csv("students.csv")
# Pehle 5 rows dekho
print(df.head())
# Statistics dekho
print(df.describe())
# Columns aur types dekho
print(df.info())read_csv() CSV file ko DataFrame mein convert karta hai. head() pehle 5 rows, describe() statistics, aur info() column details deta hai.
Data select aur filter karna
import pandas as pd
data = {
"Name": ["Aman", "Priya", "Rahul"],
"Age": [22, 21, 23],
"Marks": [85, 92, 78]
}
df = pd.DataFrame(data)
# Column select karo
print(df["Name"])
# 0 Aman
# 1 Priya
# 2 Rahul
# Filter: marks > 80
print(df[df["Marks"] > 80])
# Name Age Marks
# 0 Aman 22 85
# 1 Priya 21 92
# loc: label se select
print(df.loc[0, "Name"]) # Aman
# iloc: position se select
print(df.iloc[0, 1]) # 22Column ke naam se directly select hota hai. df[df["Marks"] > 80] se filtered rows milti hain. loc label se, iloc integer position se data nikalta hai.
Naya column add karna
import pandas as pd
data = {
"Name": ["Aman", "Priya", "Rahul"],
"Marks": [85, 92, 78]
}
df = pd.DataFrame(data)
# Grade column add karo
df["Grade"] = df["Marks"].apply(lambda x: "A" if x > 85 else "B")
print(df)
# Name Marks Grade
# 0 Aman 85 B
# 1 Priya 92 A
# 2 Rahul 78 B.apply() har row par function apply karta hai. Lambda use karke conditional logic laga sakte ho naye column ke liye.
GroupBy aur aggregation
import pandas as pd
data = {
"Name": ["Aman", "Priya", "Rahul", "Sita"],
"Grade": ["A", "A", "B", "A"],
"Marks": [85, 92, 78, 88]
}
df = pd.DataFrame(data)
# Grade-wise average marks
print(df.groupby("Grade")["Marks"].mean())
# Grade
# A 88.33
# B 78.00
# Grade-wise count
print(df.groupby("Grade")["Name"].count())
# Grade
# A 3
# B 1groupby() data ko groups mein baanta hai. Phir mean(), sum(), count() jaise functions apply kar sakte ho har group par.
CSV mein save karna
import pandas as pd
data = {"Name": ["Aman", "Priya"], "Marks": [85, 92]}
df = pd.DataFrame(data)
# CSV mein save karo
df.to_csv("output.csv", index=False)
# Excel mein save karo
df.to_excel("output.xlsx", index=False)to_csv() aur to_excel() DataFrame ko files mein save karte hain. index=False se row numbers nahi likhte.
Useful Pandas operations
df.head()� pehle 5 rows dikhata hai.df.tail()� last 5 rows dikhata hai.df.shape� (rows, columns) ka tuple deta hai.df.columns� saari column names deta hai.df.describe()� numerical columns ka statistics deta hai.df.isnull().sum()� kitne missing values hain batata hai.df.sort_values("Marks")� marks ke basis par sort karta hai.df.drop_duplicates()� duplicate rows hata deta hai.df.fillna(0)� missing values ko 0 se replace karta hai.df["Marks"].mean()� average marks nikalta hai.
Series kya hai?
import pandas as pd
# Series = single column
marks = pd.Series([85, 92, 78], index=["Aman", "Priya", "Rahul"])
print(marks)
# Aman 85
# Priya 92
# Rahul 78
print(marks["Priya"]) # 92
print(marks.mean()) # 85.0Series ek labeled array hai. DataFrame ka ek column bhi Series hota hai. df["Name"] Series return karta hai.
Quick check
DataFrame banao 3 students ka aur marks ka average nikalo. Naam aur marks dono rakho.
Pehle import pandas as pd likho, phir pd.DataFrame() se dictionary convert karo, phir df["Marks"].mean() se average nikalo.
Common mistakes
pd.Dataframe()nahi,pd.DataFrame()hai � capital F yaad rakho.df["Marks"] > 80condition mein parentheses nahi lagte �df[df["Marks"] > 80]sahi hai.locaurilocmein fark hai �loclabel leta hai,ilocinteger position.to_csv()meinindex=Falsemat bhoolo warna row numbers bhi save honge.groupby()ke baad aggregation function (mean,sum) lagana mat bhoolo.
Ab aap CSV data load karke analyze kar sakte ho � ye skill data science mein sabse zyada use hoti hai.