📖 Scenario: You work as a data analyst in a company that collects sales data. You have two tools to handle data: NumPy and Pandas. You want to learn when it is better to use NumPy instead of Pandas for your calculations.
🎯 Goal: Build a small program that creates sales data, sets a threshold, uses NumPy to filter data faster, and prints the filtered results.
📋 What You'll Learn
Create a NumPy array with sales numbers
Create a threshold variable to filter sales
Use NumPy to select sales above the threshold
Print the filtered sales array
💡 Why This Matters
🌍 Real World
Data analysts often choose NumPy for fast number crunching and Pandas for data tables with labels.
💼 Career
Knowing when to use NumPy helps you write faster, simpler code for numerical tasks in data science jobs.
Progress0 / 4 steps
1
Create a NumPy array with sales data
Import NumPy as np and create a NumPy array called sales with these exact values: 100, 250, 300, 150, 400.
Pandas
Hint
Use np.array([...]) to create the array.
2
Set a sales threshold
Create a variable called threshold and set it to 200.
Pandas
Hint
Just assign the number 200 to the variable threshold.
3
Filter sales above the threshold using NumPy
Create a new NumPy array called high_sales that contains only the values from sales that are greater than threshold. Use NumPy boolean indexing.
Pandas
Hint
Use sales[sales > threshold] to filter the array.
4
Print the filtered sales
Print the high_sales array to show the sales values above the threshold.
Pandas
Hint
Use print(high_sales) to display the filtered array.
Practice
(1/5)
1. Which situation is best suited for using NumPy instead of pandas?
easy
A. Handling missing data and categorical variables easily
B. Working with labeled data in tables with mixed data types
C. Performing fast mathematical operations on large numeric arrays without needing labels
D. Creating complex data visualizations directly
Solution
Step 1: Understand the strengths of NumPy
NumPy is designed for fast math on large numeric arrays without labels.
Step 2: Compare with pandas features
Pandas adds labels and table features but is slower for pure number crunching.
Final Answer:
Performing fast mathematical operations on large numeric arrays without needing labels -> Option C
Quick Check:
NumPy = fast math on unlabeled arrays [OK]
Hint: Use NumPy for speed with unlabeled numeric arrays [OK]
Common Mistakes:
Thinking pandas is always faster than NumPy
Using pandas when labels are not needed
Confusing data visualization with data processing
2. Which of the following is the correct way to import NumPy for fast numeric operations?
A. Error because NumPy arrays cannot be multiplied by 2
B. [2 4 6 8] and a DataFrame with doubled values in 'Numbers' column
C. Only the DataFrame doubles values; NumPy array stays the same
D. Both print statements produce the same string output
Solution
Step 1: Multiply NumPy array by 2
NumPy arrays support element-wise multiplication, so arr * 2 doubles each element.
Step 2: Multiply pandas DataFrame by 2
Pandas DataFrames also support element-wise multiplication, doubling values in the 'Numbers' column.
Final Answer:
[2 4 6 8] and a DataFrame with doubled values in 'Numbers' column -> Option B
Quick Check:
NumPy and pandas both double numeric data [OK]
Hint: NumPy and pandas multiply numeric data element-wise [OK]
Common Mistakes:
Expecting errors on multiplying arrays
Thinking only DataFrame supports multiplication
Confusing output formats of array vs DataFrame
4. Identify the error in this code when trying to use NumPy for labeled data:
import numpy as np
arr = np.array([1, 2, 3])
print(arr['index'])
medium
A. NumPy arrays do not support label-based indexing like 'index'
B. The array is missing a label definition
C. The syntax for accessing elements is incorrect; should use parentheses
D. NumPy arrays cannot contain integers
Solution
Step 1: Understand NumPy indexing
NumPy arrays use integer-based indexing, not labels like 'index'.
Step 2: Recognize label support in pandas
Only pandas DataFrames or Series support label-based indexing.
Final Answer:
NumPy arrays do not support label-based indexing like 'index' -> Option A
Quick Check:
NumPy = integer indexing only [OK]
Hint: NumPy uses integer indexes, not labels [OK]
Common Mistakes:
Trying to use labels with NumPy arrays
Confusing syntax for element access
Assuming NumPy supports DataFrame features
5. You have a large dataset of numeric sensor readings stored as a 3D array. You want to perform fast matrix operations and do not need row or column labels. Which approach is best?
hard
A. Use pandas DataFrame for easy labeling and indexing
B. Convert data to Python lists for flexibility
C. Use pandas Series for one-dimensional data handling
D. Use NumPy arrays for efficient multi-dimensional numeric computations
Solution
Step 1: Analyze data structure and needs
The data is a large 3D numeric array needing fast matrix operations without labels.
Step 2: Match tool to task
NumPy excels at multi-dimensional arrays and fast numeric computations without labels.
Step 3: Evaluate other options
Pandas is slower and designed for labeled 1D/2D data; Python lists are inefficient for math.
Final Answer:
Use NumPy arrays for efficient multi-dimensional numeric computations -> Option D
Quick Check:
NumPy = best for fast multi-dimensional math [OK]
Hint: Choose NumPy for fast multi-dimensional numeric data [OK]
Common Mistakes:
Using pandas for unlabeled multi-dimensional arrays
Choosing Python lists for numeric matrix math
Confusing Series with multi-dimensional data
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.