Pandas Introduction: Series aur DataFrame

Lesson 7 of 26

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

Python
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

Plain Text
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

Python
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

Plain Text
    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

Python
print("Shape:", df.shape)            # (rows, columns)
print("Columns:", df.columns.tolist())
print()
print(df.dtypes)

Output

Plain Text
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

Python
print(df["salary"])
print()
print(df[["name", "salary"]])

Output

Plain Text
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

Python
df["salary_lakh"] = df["salary"] / 100000
df["is_senior"] = df["age"] >= 28
print(df)

Output

Plain Text
    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

Python
print("Max salary:", df["salary"].max())
print("Average age:", df["age"].mean())
print("Sabse zyada salary kiski:", df.loc[df["salary"].idxmax(), "name"])

Output

Plain Text
Max salary: 75000
Average age: 26.6
Sabse zyada salary kiski: Sara

Index set karna aur column hataana

Example

Python
people = df.set_index("name").drop(columns=["salary_lakh"])
print(people)
print()
print(people.loc["Sara"])

Output

Plain Text
            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

pd.Series([...])

pd.DataFrame({...})

Example

df["age"]

df[["name", "age"]]

Practice

  1. Apne 4 favourite phones ka DataFrame banaiye: brand, price, rating.
  2. Ek naya column banaiye: price_with_gst = price * 1.18.
  3. Sabse zyada rating wala phone kaunsa hai?