Funpedia.in — Learn Pandas with Hands-on Practice
import pandas as pd
data = {
"Name": ["John", "Anna", "Peter"],
"Age": [24, 22, 29],
"City": ["Delhi", "Mumbai", "Chennai"]
}
df = pd.DataFrame(data)
print(df)
import pandas as pd
df = pd.read_csv("students.csv")
print(df)
import pandas as pd
df = pd.DataFrame({
"Name": ["A", "B", "C"],
"Marks": [80, 90, 70],
"Age": [15, 16, 15]
})
print(df["Name"]) # column
print(df.iloc[1]) # row by index
print(df.iloc[0:2]) # multiple rows
import pandas as pd
df = pd.DataFrame({
"Name": ["Jhon", "Sam", "Riya"],
"Marks": [45, 85, 92]
})
print(df[df["Marks"] > 80])
import pandas as pd
df = pd.DataFrame({
"A": [1, 2, 3],
"B": [4, 5, 6]
})
df["C"] = df["A"] + df["B"] # add column
print("After adding:\n", df)
df = df.drop("B", axis=1) # remove column
print("After removing:\n", df)
import pandas as pd
import numpy as np
df = pd.DataFrame({
"A": [1, 2, np.nan],
"B": [4, np.nan, 6]
})
print("Fill missing with 0:\n", df.fillna(0))
print("Drop rows with missing:\n", df.dropna())
import pandas as pd
df = pd.DataFrame({
"Name": ["John", "Anna", "Peter"],
"Marks": [78, 85, 65]
})
print(df.sort_values("Marks"))
import pandas as pd
df = pd.DataFrame({
"Age": [10, 20, 30, 40, 50],
"Marks": [60, 70, 80, 90, 100]
})
print(df.describe())
import pandas as pd
df = pd.DataFrame({
"City": ["Delhi", "Delhi", "Mumbai", "Chennai"],
"Sales": [200, 150, 300, 250]
})
grouped = df.groupby("City")["Sales"].sum()
print(grouped)
import pandas as pd
df1 = pd.DataFrame({
"ID": [1, 2, 3],
"Name": ["A", "B", "C"]
})
df2 = pd.DataFrame({
"ID": [1, 2, 3],
"Marks": [90, 85, 88]
})
merged = pd.merge(df1, df2, on="ID")
print(merged)
import pandas as pd
# Create marksheet data
data = {
"Name": ["Alice", "Bob", "Charlie", "David"],
"Math": [85, 92, 88, 79],
"Science": [90, 85, 91, 92],
"English": [80, 87, 85, 78],
"History": [70, 75, 88, 90]
}
df = pd.DataFrame(data)
# Total and Average
df["Total"] = df[["Math","Science","English","History"]].sum(axis=1)
df["Average"] = df[["Math","Science","English","History"]].mean(axis=1)
# Rank based on Total marks
df["Rank"] = df["Total"].rank(ascending=False, method="dense")
print("Marksheet:")
print(df)
# First Rank Student
print("\nFirst Rank Student:")
print(df.loc[df["Rank"] == 1, ["Name", "Total"]])
# Subject-wise Highest Marks
print("\nSubject-wise Highest Marks:")
print(df[["Math","Science","English","History"]].max())
import numpy as np
import pandas as pd
# Set seed for reproducibility
np.random.seed(42)
# Student names
students = ["Amee", "Brij", "Chetan", "Dolly", "Eva"]
# Generate random marks (between 50 and 100)
marks = np.random.randint(50, 101, size=(5, 4))
# Create DataFrame
df = pd.DataFrame(
marks,
columns=["Math", "Science", "English", "History"]
)
df.insert(0, "Name", students)
# Total and Average
df["Total"] = df[["Math","Science","English","History"]].sum(axis=1)
df["Average"] = df[["Math","Science","English","History"]].mean(axis=1)
# Grade Assignment
df["Grade"] = pd.cut(
df["Average"],
bins=[0, 60, 75, 90, 100],
labels=["C", "B", "A", "A+"]
)
print("Student Performance Report:")
print(df)
# Top Performer
print("\nTop Performer:")
print(df.loc[df["Total"].idxmax(), ["Name", "Total"]])
# Subject-wise Statistics
print("\nSubject-wise Statistics:")
print(df[["Math","Science","English","History"]].agg(["min","max","mean"]))