Pandas Python ki sabse important data library hai. Isko aap Python ka Excel samajh sakte hain — par ye lakhon rows pe bhi fast chalta hai aur har step code me likha hota hai, isliye repeat karna aasaan hai.
Pandas ke do main building blocks hain: Series (ek column) aur DataFrame (poori table).
Series — ek column
Example
import pandas as pd
marks = pd.Series([88, 72, 95], index=["Aman", "Riya", "Kabir"])
print(marks)
print()
print("Riya ke marks:", marks["Riya"])
print("Average:", marks.mean())
Output
Aman 88
Riya 72
Kabir 95
dtype: int64
Riya ke marks: 72
Average: 85.0
Series ek NumPy array jaisi hai, bas har value ke saath ek index (label) juda hota hai.
DataFrame — poori table
DataFrame banane ka sabse common tareeka dictionary hai — har key ek column ban jaati hai:
Example
data = {
"name": ["Aman", "Riya", "Kabir", "Sara", "Dev"],
"city": ["Delhi", "Mumbai", "Pune", "Delhi", "Bangalore"],
"age": [25, 28, 22, 31, 27],
"salary": [52000, 61000, 38000, 75000, 58000],
}
df = pd.DataFrame(data)
print(df)
Output
name city age salary
0 Aman Delhi 25 52000
1 Riya Mumbai 28 61000
2 Kabir Pune 22 38000
3 Sara Delhi 31 75000
4 Dev Bangalore 27 58000
Table ki basic jaankari
Example
print("Shape:", df.shape) # (rows, columns)
print("Columns:", df.columns.tolist())
print()
print(df.dtypes)
Output
Shape: (5, 4)
Columns: ['name', 'city', 'age', 'salary']
name object
city object
age int64
salary int64
dtype: object
object dtype ka matlab aam taur pe text hota hai, aur int64 poore numbers.
Columns select karna
Ek column ke liye single brackets (result Series), kai columns ke liye list — yaani double brackets (result DataFrame):
Example
print(df["salary"])
print()
print(df[["name", "salary"]])
Output
0 52000
1 61000
2 38000
3 75000
4 58000
Name: salary, dtype: int64
name salary
0 Aman 52000
1 Riya 61000
2 Kabir 38000
3 Sara 75000
4 Dev 58000
Naya column banana
Column pe math seedha poore column pe lagta hai — koi loop nahi:
Example
df["salary_lakh"] = df["salary"] / 100000
df["is_senior"] = df["age"] >= 28
print(df)
Output
name city age salary salary_lakh is_senior
0 Aman Delhi 25 52000 0.52 False
1 Riya Mumbai 28 61000 0.61 True
2 Kabir Pune 22 38000 0.38 False
3 Sara Delhi 31 75000 0.75 True
4 Dev Bangalore 27 58000 0.58 False
Kuch quick calculations
Example
print("Max salary:", df["salary"].max())
print("Average age:", df["age"].mean())
print("Sabse zyada salary kiski:", df.loc[df["salary"].idxmax(), "name"])
Output
Max salary: 75000
Average age: 26.6
Sabse zyada salary kiski: Sara
Index set karna aur column hataana
Example
people = df.set_index("name").drop(columns=["salary_lakh"])
print(people)
print()
print(people.loc["Sara"])
Output
city age salary is_senior
name
Aman Delhi 25 52000 False
Riya Mumbai 28 61000 True
Kabir Pune 22 38000 False
Sara Delhi 31 75000 True
Dev Bangalore 27 58000 False
city Delhi
age 31
salary 75000
is_senior True
Name: Sara, dtype: object
Series vs DataFrame
Series | DataFrame | |
|---|---|---|
Dimension | 1D (ek column) | 2D (rows + columns) |
Banana |
|
|
Example |
|
|
Practice
- Apne 4 favourite phones ka DataFrame banaiye: brand, price, rating.
- Ek naya column banaiye:
price_with_gst = price * 1.18. - Sabse zyada rating wala phone kaunsa hai?