Bird
Raised Fist0
Pandasdata~10 mins

Interpolation for missing values in Pandas - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to fill missing values in the DataFrame using interpolation.

Pandas
df['column'] = df['column'].[1]()
Drag options to blanks, or click blank then click option'
Ainterpolate
Bfillna
Cdropna
Dreplace
Attempts:
3 left
💡 Hint
Common Mistakes
Using fillna() which replaces missing values but does not estimate intermediate values.
Using dropna() which removes rows with missing values instead of filling them.
2fill in blank
medium

Complete the code to interpolate missing values using linear method along the index.

Pandas
df['column'] = df['column'].interpolate(method=[1])
Drag options to blanks, or click blank then click option'
A'nearest'
B'polynomial'
C'linear'
D'spline'
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'nearest' which fills missing values with the nearest valid value.
Choosing 'polynomial' or 'spline' which require additional parameters.
3fill in blank
hard

Fix the error in the code to interpolate missing values along columns instead of rows.

Pandas
df.interpolate(axis=[1], inplace=True)
Drag options to blanks, or click blank then click option'
A0
B1
C'index'
D'columns'
Attempts:
3 left
💡 Hint
Common Mistakes
Using axis=0 which interpolates vertically along rows.
Using string values 'index' or 'columns' which are not valid for axis parameter.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps words to their lengths only if length is greater than 3.

Pandas
{word: [1] for word in words if [2]
Drag options to blanks, or click blank then click option'
Alen(word)
Bword
Clen(word) > 3
Dword > 3
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself as the value instead of its length.
Comparing the word string directly to a number.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase words to their values only if value is positive.

Pandas
{ [1]: [2] for [3] in data.items() if [2] > 0 }
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
Ck, v
Ditem
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'item' instead of unpacking key and value.
Not converting keys to uppercase.

Practice

(1/5)
1. What does the interpolate() method in pandas do when applied to a DataFrame with missing values?
easy
A. It fills missing values by estimating them based on nearby known values.
B. It deletes all rows containing missing values.
C. It replaces missing values with zeros.
D. It converts missing values to strings.

Solution

  1. Step 1: Understand the purpose of interpolation

    Interpolation estimates missing data points by using values around them to create a smooth transition.
  2. Step 2: Recognize what pandas interpolate() does

    The method fills missing values by calculating estimates based on existing nearby values, not by deleting or replacing with fixed values.
  3. Final Answer:

    It fills missing values by estimating them based on nearby known values. -> Option A
  4. Quick Check:

    Interpolation = estimate missing values [OK]
Hint: Interpolation estimates missing data using nearby values [OK]
Common Mistakes:
  • Thinking it deletes rows with missing data
  • Assuming it fills with zeros automatically
  • Confusing interpolation with data type conversion
2. Which of the following is the correct syntax to interpolate missing values in a pandas DataFrame named df using the default method?
easy
A. df.interpolate(method='fill')
B. df.interpolate()
C. df.fillna(method='interpolate')
D. df.fillna(interpolate=True)

Solution

  1. Step 1: Recall pandas interpolation syntax

    The method to fill missing values by interpolation is called directly as interpolate() on the DataFrame.
  2. Step 2: Check each option for correctness

    df.interpolate() uses df.interpolate() which is correct. Options A, B, and D misuse fillna() or wrong parameters.
  3. Final Answer:

    df.interpolate() -> Option B
  4. Quick Check:

    Correct method call = df.interpolate() [OK]
Hint: Use df.interpolate() to fill missing values by default [OK]
Common Mistakes:
  • Using fillna with wrong parameters
  • Confusing interpolate with fillna method
  • Adding invalid arguments to interpolate
3. Given the DataFrame df below, what will be the output of df.interpolate()?
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, np.nan, np.nan, 4, 5]})
print(df.interpolate())
medium
A. A 0 1.0 1 NaN 2 NaN 3 4.0 4 5.0
B. A 0 1.0 1 1.0 2 1.0 3 4.0 4 5.0
C. A 0 1.0 1 2.0 2 3.0 3 4.0 4 5.0
D. A 0 1.0 1 2.5 2 3.5 3 4.0 4 5.0

Solution

  1. Step 1: Understand linear interpolation on missing values

    Linear interpolation fills missing values by evenly spacing values between known points. Here, missing values between 1 and 4 are filled as 2.0 and 3.0.
  2. Step 2: Apply interpolation to the DataFrame

    Positions 1 and 2 are NaN. Interpolated values are 2.0 and 3.0 respectively, resulting in the sequence 1.0, 2.0, 3.0, 4.0, 5.0.
  3. Final Answer:

    A 0 1.0 1 2.0 2 3.0 3 4.0 4 5.0 -> Option C
  4. Quick Check:

    Linear interpolation fills gaps evenly [OK]
Hint: Linear interpolate fills gaps evenly between known values [OK]
Common Mistakes:
  • Assuming missing values remain NaN
  • Filling missing with previous value only
  • Using wrong interpolation method
4. You run the code below but get an error. What is the most likely cause?
import pandas as pd
df = pd.DataFrame({'date': ['2023-01-01', '2023-01-02', '2023-01-03'], 'value': [1, None, 3]})
df['date'] = pd.to_datetime(df['date'])
df.interpolate(method='time')
medium
A. The DataFrame index is not set to the datetime column.
B. The 'value' column contains None instead of np.nan.
C. The 'date' column is not converted to datetime.
D. The interpolate method 'time' is not supported.

Solution

  1. Step 1: Understand 'time' interpolation requirement

    The 'time' method requires the DataFrame index to be a datetime type to interpolate based on time differences.
  2. Step 2: Check DataFrame index and columns

    Here, 'date' is a column but not set as index. Without datetime index, 'time' interpolation raises an error.
  3. Final Answer:

    The DataFrame index is not set to the datetime column. -> Option A
  4. Quick Check:

    Time interpolation needs datetime index [OK]
Hint: Set datetime column as index before time interpolation [OK]
Common Mistakes:
  • Not setting datetime column as index
  • Confusing None with np.nan (both work here)
  • Assuming 'time' method unsupported
5. You have a DataFrame df with missing values in multiple columns and a datetime index. You want to fill missing values using time-based interpolation only on column 'temperature' without affecting others. Which code snippet correctly does this?
hard
A. df['temperature'].fillna(method='time')
B. df.interpolate(method='time', columns=['temperature'])
C. df.interpolate(method='time').loc[:, 'temperature']
D. df['temperature'] = df['temperature'].interpolate(method='time')

Solution

  1. Step 1: Understand column-specific interpolation

    To interpolate only one column, call interpolate() on that column's Series.
  2. Step 2: Check each option's correctness

    df['temperature'] = df['temperature'].interpolate(method='time') applies interpolation with method='time' directly on 'temperature' column and assigns back, which is correct. df.interpolate(method='time', columns=['temperature']) uses invalid 'columns' parameter. df.interpolate(method='time').loc[:, 'temperature'] interpolates whole DataFrame then selects column but does not assign back. df['temperature'].fillna(method='time') uses invalid fillna method.
  3. Final Answer:

    df['temperature'] = df['temperature'].interpolate(method='time') -> Option D
  4. Quick Check:

    Interpolate single column by calling method on that column [OK]
Hint: Interpolate single column by calling interpolate() on it [OK]
Common Mistakes:
  • Using invalid 'columns' parameter in interpolate
  • Not assigning interpolated result back to column
  • Using fillna with method='time' which is invalid
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard