It creates a moving window over data, allowing calculations like sums or averages on subsets of data that slide over the dataset.
Click to reveal answer
beginner
How do you specify the size of the moving window in rolling()?
You set the window size by passing an integer to rolling(window=), which defines how many data points are included in each window.
Click to reveal answer
intermediate
What happens if the window size is larger than the available data points at the start?
By default, the result is NaN for those positions because there isn't enough data to fill the window.
Click to reveal answer
beginner
How can you calculate the moving average of a pandas Series using rolling()?
Use series.rolling(window).mean() where window is the size of the moving window.
Click to reveal answer
intermediate
What is the difference between rolling() and expanding() in pandas?
rolling() uses a fixed-size window that moves over data, while expanding() uses an increasing window starting from the first data point.
Click to reveal answer
What does df['col'].rolling(window=3).sum() compute?
ASum of every 3 consecutive values in 'col'
BSum of all values in 'col'
CSum of first 3 values only
DSum of values skipping every 3rd value
✗ Incorrect
The rolling sum with window=3 calculates the sum of each group of 3 consecutive values as the window moves.
If you want to avoid NaN values at the start when using rolling(), what parameter can you use?
Askipna=False
Bwindow=0
Cmin_periods=1
Dcenter=True
✗ Incorrect
Setting min_periods=1 allows calculations with fewer data points than the window size, reducing NaN at the start.
What does the center=True option do in rolling()?
ACenters the data values
BCenters the window label on the current row
CCenters the output DataFrame
DCenters the index
✗ Incorrect
With center=True, the window is centered on the current row instead of being right-aligned.
Which of these is NOT a valid aggregation function used with rolling()?
Amean()
Bsum()
Cmedian()
Dplot()
✗ Incorrect
plot() is not an aggregation function; rolling() expects functions like mean, sum, median.
What type of data structure does rolling() work on in pandas?
ASeries and DataFrame
BOnly Series
COnly DataFrame
DList
✗ Incorrect
rolling() works on both pandas Series and DataFrame objects.
Explain how the rolling() function works in pandas and give an example of calculating a moving average.
Think about how you slide a small window over your data to calculate averages.
You got /4 concepts.
Describe the difference between rolling() and expanding() windows in pandas.
One window size stays the same, the other grows as you move through data.
You got /3 concepts.
Practice
(1/5)
1. What does the rolling(window=3).mean() function do on a pandas Series?
easy
A. Removes missing values from the Series
B. Calculates the sum of all values in the Series
C. Sorts the Series in ascending order
D. Calculates the average of every 3 consecutive values as the window moves
Solution
Step 1: Understand rolling window concept
The rolling(window=3) creates a moving window of size 3 over the data.
Step 2: Apply mean function on each window
The mean() calculates the average of values inside each window as it moves along the Series.
Final Answer:
Calculates the average of every 3 consecutive values as the window moves -> Option D
Quick Check:
rolling + mean = moving average [OK]
Hint: rolling(window).mean() = moving average over window [OK]
Common Mistakes:
Thinking rolling sums all values in the Series
Confusing rolling with sorting or filtering
Ignoring the window size effect
2. Which of the following is the correct syntax to calculate a rolling sum with a window size of 4 on a pandas DataFrame column df['sales']?
easy
A. df['sales'].rolling(4,sum()).sum()
B. df['sales'].rolling(window=4).sum()
C. df.rolling('sales', 4).sum()
D. df['sales'].rolling_sum(4)
Solution
Step 1: Identify correct rolling syntax
The rolling function requires the window size as a named argument: window=4.
Step 2: Confirm method chaining
After rolling, the aggregation function sum() is called to compute the rolling sum.
Final Answer:
df['sales'].rolling(window=4).sum() -> Option B
Quick Check:
rolling(window=4).sum() syntax correct [OK]
Hint: Use rolling(window=4).sum() for rolling sums [OK]
Common Mistakes:
Passing window size as positional argument without naming
Using non-existent method rolling_sum
Incorrect argument order or syntax
3. Given the following code, what is the output?
import pandas as pd
s = pd.Series([2, 4, 6, 8, 10])
result = s.rolling(window=3, min_periods=1).mean()
print(result.tolist())
medium
A. [2.0, 3.0, 4.0, 6.0, 8.0]
B. [nan, nan, 4.0, 6.0, 8.0]
C. [2.0, 3.0, 4.0, 5.0, 6.0]
D. [nan, 3.0, 4.0, 6.0, 8.0]
Solution
Step 1: Understand rolling with min_periods=1
With min_periods=1, the rolling mean starts calculating from the first value, even if the window is not full.
Step 2: Calculate rolling means step-by-step
Values:
- Index 0: mean([2]) = 2.0
- Index 1: mean([2,4]) = 3.0
- Index 2: mean([2,4,6]) = 4.0
- Index 3: mean([4,6,8]) = 6.0
- Index 4: mean([6,8,10]) = 8.0
Final Answer:
[2.0, 3.0, 4.0, 6.0, 8.0] -> Option A
Quick Check:
rolling mean with min_periods=1 = [2.0, 3.0, 4.0, 6.0, 8.0] [OK]
Hint: min_periods=1 allows early rolling calculations [OK]
Common Mistakes:
Expecting NaN for first values despite min_periods=1
Miscomputing window slices for rolling mean
Confusing rolling mean with cumulative mean
4. The following code throws an error. What is the problem?
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.rolling(window=0).mean()
print(result)
medium
A. Window size cannot be zero; it must be at least 1
B. The Series contains integers; it must be floats
C. mean() cannot be used with rolling windows
D. The rolling function requires a string window size
Solution
Step 1: Check window parameter validity
The window size in rolling must be a positive integer greater than zero.
Step 2: Identify error cause
Using window=0 is invalid and causes a ValueError.
Final Answer:
Window size cannot be zero; it must be at least 1 -> Option A
Quick Check:
rolling window > 0 required [OK]
Hint: Window size must be positive integer > 0 [OK]
Common Mistakes:
Setting window=0 by mistake
Thinking window can be zero or negative
Confusing data type issues with window size errors
5. You have daily sales data in a pandas DataFrame df with a column 'sales'. You want to calculate a 7-day moving average but only want results when at least 4 days of data are available in the window. Which code correctly achieves this?
hard
A. df['sales'].rolling(window=7).mean(min_periods=4)
B. df['sales'].rolling(window=4, min_periods=7).mean()
C. df['sales'].rolling(window=7, min_periods=4).mean()
D. df['sales'].rolling(min_periods=7, window=4).mean()
Solution
Step 1: Set window size to 7 for 7-day moving average
The window=7 parameter defines the size of the moving window as 7 days.
Step 2: Use min_periods=4 to require at least 4 valid days
The min_periods=4 ensures the mean is calculated only if 4 or more days have data in the window.
Step 3: Confirm correct method chaining and argument order
The syntax rolling(window=7, min_periods=4).mean() is correct and will produce the desired result.
Final Answer:
df['sales'].rolling(window=7, min_periods=4).mean() -> Option C
Quick Check:
rolling(window=7, min_periods=4).mean() for partial window averages [OK]
Hint: Use min_periods to control minimum data points in window [OK]
Common Mistakes:
Swapping window and min_periods values
Passing min_periods to mean() instead of rolling()
Incorrect argument order in rolling()
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.