📖 Scenario: Imagine you work in a small store. You want to keep track of daily sales data like product names, quantities sold, and prices. Organizing this data well helps you understand your business better.
🎯 Goal: You will create a pandas DataFrame from scratch with sales data. Then, you will set a threshold to filter products sold in large quantities. Finally, you will display the filtered data to see which products sold the most.
📋 What You'll Learn
Create a pandas DataFrame with exact sales data
Create a variable for quantity threshold
Filter the DataFrame for products with quantity sold above the threshold
Print the filtered DataFrame
💡 Why This Matters
🌍 Real World
Organizing sales data in a DataFrame helps store owners quickly analyze which products sell well and make better decisions.
💼 Career
Data scientists and analysts often create and filter DataFrames to prepare data for reports and insights.
Progress0 / 4 steps
1
Create the sales DataFrame
Import pandas as pd. Create a DataFrame called sales_data with these exact columns and values: 'Product': ['Apples', 'Bananas', 'Cherries', 'Dates'], 'Quantity': [10, 25, 7, 30], 'Price': [0.5, 0.3, 0.2, 1.0].
Pandas
Hint
Use pd.DataFrame with a dictionary where keys are column names and values are lists of data.
2
Set the quantity threshold
Create a variable called quantity_threshold and set it to 15. This will help us find products sold in quantities greater than 15.
Pandas
Hint
Just create a variable and assign the number 15 to it.
3
Filter products by quantity
Create a new DataFrame called high_sales by filtering sales_data to include only rows where Quantity is greater than quantity_threshold.
Pandas
Hint
Use boolean indexing with sales_data['Quantity'] > quantity_threshold inside the square brackets.
4
Display the filtered DataFrame
Print the high_sales DataFrame to see the products sold in quantities greater than 15.
Pandas
Hint
Use print(high_sales) to show the filtered data.
Practice
(1/5)
1. Why is creating a DataFrame important when working with data in pandas?
easy
A. It converts data into images.
B. It automatically cleans all data errors.
C. It organizes data into rows and columns for easy analysis.
D. It deletes duplicate data without user input.
Solution
Step 1: Understand DataFrame structure
A DataFrame organizes data into rows and columns, similar to a spreadsheet.
Step 2: Recognize the benefit for analysis
This structure makes it easier to analyze and manipulate data clearly and simply.
Final Answer:
It organizes data into rows and columns for easy analysis. -> Option C
Quick Check:
DataFrames = organized data [OK]
Hint: DataFrames = tables that make data easy to handle [OK]
Common Mistakes:
Thinking DataFrames fix data errors automatically
Confusing DataFrames with image data
Assuming DataFrames delete duplicates by default
2. Which of the following is the correct way to create a pandas DataFrame from a dictionary?
easy
A. pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
B. pd.DataFrame['A': [1, 2], 'B': [3, 4]]
C. pd.DataFrame({'A' = [1, 2], 'B' = [3, 4]})
D. pd.DataFrame({'A': 1, 2, 'B': 3, 4})
Solution
Step 1: Check dictionary syntax
The dictionary keys must be strings and values lists, using colons ':' to assign.
Step 2: Confirm DataFrame constructor usage
pd.DataFrame() takes a dictionary with keys as column names and lists as column data.
Final Answer:
pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) -> Option A
Hint: Use curly braces and colons inside pd.DataFrame() [OK]
Common Mistakes:
Using square brackets instead of parentheses for DataFrame
Using '=' instead of ':' in dictionary
Passing single values instead of lists for column data
3. What will be the output of this code?
import pandas as pd
data = {'Name': ['Anna', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df.shape)
medium
A. (2, 3)
B. (2, 2)
C. (3, 2)
D. (1, 2)
Solution
Step 1: Understand DataFrame shape
DataFrame shape returns (rows, columns).
Step 2: Count rows and columns in data
Data has 2 names and 2 ages, so 2 rows and 2 columns.
Final Answer:
(2, 2) -> Option B
Quick Check:
Rows=2, Columns=2 [OK]
Hint: Shape = (rows, columns) count [OK]
Common Mistakes:
Confusing rows with columns count
Assuming shape returns columns first
Counting keys as rows
4. Identify the error in this DataFrame creation code:
import pandas as pd
data = {'X': [1, 2], 'Y': 3}
df = pd.DataFrame(data)
medium
A. Data values must be lists or arrays, not single integers.
B. Dictionary keys must be integers, not strings.
C. pd.DataFrame() cannot take a dictionary as input.
D. Missing import statement for pandas.
Solution
Step 1: Check data dictionary values
Values are single integers, but DataFrame expects list-like objects for columns.
Step 2: Understand DataFrame input requirements
Each column must have multiple values in a list or array to form rows.
Final Answer:
Data values must be lists or arrays, not single integers. -> Option A
Quick Check:
Values need to be lists [OK]
Hint: Use lists for column data, not single numbers [OK]
Common Mistakes:
Using single values instead of lists
Thinking keys must be integers
Ignoring import pandas statement
5. You have nested data: {'Team': ['A', 'B'], 'Scores': [[10, 20], [15, 25]]}. How do you create a DataFrame that shows each score as a separate row with the team name repeated?
hard
A. Convert nested lists to strings before creating the DataFrame.
B. Create DataFrame directly with nested lists; pandas will flatten automatically.
C. Use pd.DataFrame({'Team': ['A', 'B'], 'Scores': [10, 20, 15, 25]}).
D. Use pd.DataFrame.explode() on the 'Scores' column after creating the DataFrame.
Solution
Step 1: Create DataFrame with nested lists
Creating DataFrame with nested lists keeps 'Scores' as lists in cells.
Step 2: Use explode() to flatten lists into rows
explode() expands each list element into its own row, repeating 'Team' values.
Final Answer:
Use pd.DataFrame.explode() on the 'Scores' column after creating the DataFrame. -> Option D
Quick Check:
explode() flattens nested lists [OK]
Hint: Use explode() to turn list elements into rows [OK]
Common Mistakes:
Expecting pandas to flatten nested lists automatically
Manually flattening data without explode()
Converting lists to strings losing data structure
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.