📖 Scenario: Imagine you are a data analyst helping a small online bookstore understand how project-based learning helps students improve their skills. You have data about students' learning methods and their skill improvement scores.
🎯 Goal: You will create a small data structure with student data, set a threshold for skill improvement, filter students who improved above the threshold using a comprehension, and finally print the filtered results.
📋 What You'll Learn
Create a dictionary called students with exact entries for student names and their skill improvement scores.
Create a variable called threshold and set it to 70.
Use a dictionary comprehension to create a new dictionary improved_students with students who scored above the threshold.
Print the improved_students dictionary.
💡 Why This Matters
🌍 Real World
Filtering data based on conditions is common in data analysis to focus on important information.
💼 Career
Data analysts often filter and summarize data to help businesses make decisions.
Progress0 / 4 steps
1
Create the student skill improvement data
Create a dictionary called students with these exact entries: 'Alice': 65, 'Bob': 82, 'Charlie': 70, 'Diana': 90, 'Ethan': 55.
Data Analysis Python
Hint
Use curly braces {} to create a dictionary with the exact student names and scores.
2
Set the skill improvement threshold
Create a variable called threshold and set it to 70.
Data Analysis Python
Hint
Just assign the number 70 to the variable threshold.
3
Filter students who improved above the threshold
Use a dictionary comprehension to create a new dictionary called improved_students that includes only students with scores greater than threshold.
Data Analysis Python
Hint
Use {name: score for name, score in students.items() if score > threshold} to filter.
4
Print the filtered students
Print the improved_students dictionary to see which students improved above the threshold.
Data Analysis Python
Hint
Use print(improved_students) to display the dictionary.
Practice
(1/5)
1. Why does project-based learning help you remember data science steps better?
easy
A. Because you memorize code without running it
B. Because you only read theory without doing anything
C. Because you practice loading, cleaning, analyzing, and visualizing data
D. Because you watch videos without practicing
Solution
Step 1: Understand project-based learning
Project-based learning means doing real tasks, not just reading or watching.
Step 2: Connect practice with memory
Practicing steps like loading and cleaning data helps you remember them better.
Final Answer:
Because you practice loading, cleaning, analyzing, and visualizing data -> Option C
Quick Check:
Practice improves memory = C [OK]
Hint: Practice all steps to remember better [OK]
Common Mistakes:
Thinking watching videos is enough
Believing memorizing code without running helps
Ignoring the importance of hands-on practice
2. Which of the following is the correct way to load a CSV file using pandas in Python?
easy
A. df = pandas.read_csv('data.csv')
B. df = pd.read_csv('data.csv')
C. df = pd.load_csv('data.csv')
D. df = pandas.load('data.csv')
Solution
Step 1: Recognize pandas import alias
Usually pandas is imported as import pandas as pd, so pd is used.
Step 2: Identify correct function name
The correct function to load CSV is read_csv, so pd.read_csv('data.csv') is correct.
Final Answer:
df = pd.read_csv('data.csv') -> Option B
Quick Check:
pandas alias + read_csv = A [OK]
Hint: Use pd.read_csv() after importing pandas as pd [OK]
Common Mistakes:
Using pandas without alias when alias is used
Using wrong function name like load_csv
Confusing read_csv with load
3. What will be the output of this code snippet?
import pandas as pd
data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
result = df['A'] + df['B']
print(result.tolist())
medium
A. [4, 6]
B. [3, 6]
C. [1, 2, 3, 4]
D. [1, 3]
Solution
Step 1: Understand DataFrame creation
DataFrame has columns 'A' = [1, 2] and 'B' = [3, 4].
A. The print statement should be print(df.filtered)
B. The DataFrame creation is missing column names
C. The syntax df.Age > 30 is incorrect
D. There is no error; the code works correctly
Solution
Step 1: Check DataFrame creation
DataFrame is created with column 'Age' and values [25, 35, 45], which is correct.
Step 2: Check filtering syntax
Using df[df.Age > 30] is valid pandas syntax to filter rows.
Final Answer:
There is no error; the code works correctly -> Option D
Quick Check:
Filtering with df.Age > 30 works = A [OK]
Hint: Use df[df.Column > value] to filter rows [OK]
Common Mistakes:
Thinking df.Age > 30 is invalid syntax
Trying to access filtered as attribute
Missing column names in DataFrame
5. You have a project where you must clean a dataset by removing rows with missing values and then calculate the average of column 'Score'. Which sequence of pandas commands correctly does this?
hard
A. df_clean = df.dropna()
avg_score = df_clean['Score'].mean()
B. df_clean = df.fillna(0)
avg_score = df_clean['Score'].mean()
C. df_clean = df.drop_duplicates()
avg_score = df_clean['Score'].sum()
D. df_clean = df.dropna()
avg_score = df_clean['Score'].sum()
Solution
Step 1: Remove rows with missing values
Use df.dropna() to remove rows with any missing data.
Step 2: Calculate average of 'Score'
Use mean() on the 'Score' column to get average.
Final Answer:
df_clean = df.dropna()
avg_score = df_clean['Score'].mean() -> Option A
Quick Check:
dropna + mean() = D [OK]
Hint: Drop missing rows then use mean() for average [OK]
Common Mistakes:
Using fillna(0) changes data meaning
Using sum() instead of mean() for average
Dropping duplicates instead of missing values
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.