Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Filling missing values (fillna) in Data Analysis Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the fillna() function do in data analysis?

The fillna() function replaces missing values (NaN) in a dataset with a specified value or method.

Click to reveal answer
beginner
How can you fill missing values with the mean of a column using fillna()?

Calculate the mean of the column and pass it to fillna(). For example: df['col'].fillna(df['col'].mean())

Click to reveal answer
intermediate
What is the difference between filling missing values with a constant and using a method like 'ffill' in fillna()?

Filling with a constant replaces all missing values with the same value. Using method='ffill' fills missing values with the last known non-missing value above it.

Click to reveal answer
beginner
Can fillna() be used to fill missing values in both Series and DataFrames?

Yes, fillna() works on both pandas Series and DataFrames to fill missing values.

Click to reveal answer
intermediate
What happens if you use fillna() without assigning the result back to the DataFrame or using inplace=True?

The original DataFrame remains unchanged because fillna() returns a new object by default unless inplace=True is set.

Click to reveal answer
Which method fills missing values by copying the previous non-missing value downwards?
Amethod='ffill'
Bmethod='bfill'
Cvalue=0
Ddropna()
What does df['age'].fillna(df['age'].mean()) do?
ADrops rows where 'age' is missing
BFills missing 'age' values with the average age
CFills missing 'age' values with zero
DLeaves missing values unchanged
If you want to fill missing values with a fixed number, which parameter do you use in fillna()?
Avalue
Bmethod
Cinplace
Daxis
What is the default behavior of fillna() regarding modifying the original DataFrame?
AModifies original DataFrame by default
BRaises an error if missing values exist
CReturns a new DataFrame with filled values
DDeletes rows with missing values
Which of these is NOT a valid way to fill missing values using fillna()?
AUsing a constant value
BUsing forward fill method
CUsing backward fill method
DUsing <code>dropna()</code> inside <code>fillna()</code>
Explain how you would handle missing values in a dataset using the fillna() function.
Think about replacing NaN with a value or copying nearby values.
You got /4 concepts.
    Describe the difference between using method='ffill' and filling with a constant value in fillna().
    Consider how missing data is replaced in each case.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the fillna() function do in a pandas DataFrame?
      easy
      A. It converts all values to strings.
      B. It replaces missing values with a specified value or method.
      C. It sorts the DataFrame by missing values.
      D. It deletes rows with missing values.

      Solution

      1. Step 1: Understand the purpose of fillna()

        The fillna() function is designed to handle missing data by replacing NaN values.
      2. Step 2: Identify what fillna() replaces missing values with

        It can replace missing values with a fixed value or use methods like forward fill or backward fill.
      3. Final Answer:

        It replaces missing values with a specified value or method. -> Option B
      4. Quick Check:

        fillna() replaces NaN values = D [OK]
      Hint: fillna() fills missing spots, not deletes or sorts [OK]
      Common Mistakes:
      • Confusing fillna() with dropna() which deletes rows
      • Thinking fillna() sorts data
      • Assuming fillna() changes data types
      2. Which of the following is the correct syntax to fill missing values in column 'Age' with 30 in a pandas DataFrame df?
      easy
      A. df['Age'].fill(30)
      B. df.fillna['Age'](30)
      C. df.fillna('Age', 30)
      D. df['Age'].fillna(30)

      Solution

      1. Step 1: Identify the correct method call on a DataFrame column

        To fill missing values in a specific column, call fillna() on that column like df['Age'].fillna(30).
      2. Step 2: Check syntax correctness

        df['Age'].fillna(30) uses correct syntax: column selection with brackets and method call with parentheses and argument.
      3. Final Answer:

        df['Age'].fillna(30) -> Option D
      4. Quick Check:

        Correct method call syntax = A [OK]
      Hint: Use brackets for column, parentheses for fillna() [OK]
      Common Mistakes:
      • Using square brackets instead of parentheses for fillna()
      • Calling fillna on DataFrame with wrong syntax
      • Using fill() instead of fillna()
      3. Given the DataFrame df below, what will be the output of df['Score'].fillna(0)?
      import pandas as pd
      df = pd.DataFrame({'Score': [10, None, 20, None, 30]})
      print(df['Score'].fillna(0))
      medium
      A. [0, 0, 0, 0, 0]
      B. [10, None, 20, None, 30]
      C. [10, 0, 20, 0, 30]
      D. [10, 10, 20, 20, 30]

      Solution

      1. Step 1: Understand fillna(0) effect on NaN values

        Calling fillna(0) replaces all missing (NaN) values with 0.
      2. Step 2: Apply fillna(0) to the 'Score' column

        The original column has values [10, NaN, 20, NaN, 30]. After fillna(0), NaNs become 0, so result is [10, 0, 20, 0, 30].
      3. Final Answer:

        [10, 0, 20, 0, 30] -> Option C
      4. Quick Check:

        NaN replaced by 0 = C [OK]
      Hint: fillna(value) replaces NaN with value directly [OK]
      Common Mistakes:
      • Expecting fillna() to remove rows
      • Thinking fillna() copies previous values by default
      • Confusing fillna(0) with fillna(method='ffill')
      4. What is wrong with this code snippet to fill missing values in DataFrame df?
      df.fillna(method='forward')
      medium
      A. The method name should be 'ffill', not 'forward'.
      B. fillna() cannot use methods to fill missing values.
      C. The method argument should be a number, not a string.
      D. fillna() must be called on a column, not the whole DataFrame.

      Solution

      1. Step 1: Check valid method names for fillna()

        fillna() supports method='ffill' for forward fill and method='bfill' for backward fill.
      2. Step 2: Identify the incorrect method name

        The code uses method='forward', which is invalid. The correct name is 'ffill'.
      3. Final Answer:

        The method name should be 'ffill', not 'forward'. -> Option A
      4. Quick Check:

        Correct method name = 'ffill' [OK]
      Hint: Use 'ffill' or 'bfill' for method in fillna() [OK]
      Common Mistakes:
      • Using 'forward' instead of 'ffill'
      • Thinking fillna() can't use methods
      • Calling fillna() only on columns, not DataFrame
      5. You have a DataFrame df with missing values in multiple columns. You want to fill missing values in column 'A' with the mean of 'A', and in column 'B' with the previous valid value. Which code correctly does this?
      hard
      A. df['A'] = df['A'].fillna(df['A'].mean()) df['B'] = df['B'].fillna(method='ffill')
      B. df.fillna({'A': df['A'].mean(), 'B': 'ffill'})
      C. df['A'].fillna(df['A'].mean()) df['B'].fillna(method='bfill')
      D. df.fillna(method={'A': 'mean', 'B': 'ffill'})

      Solution

      1. Step 1: Fill column 'A' with its mean

        Calculate mean with df['A'].mean() and fill missing values using fillna() on column 'A'. Assign back to df['A'].
      2. Step 2: Fill column 'B' with previous valid value

        Use fillna(method='ffill') on column 'B' to forward fill missing values. Assign back to df['B'].
      3. Final Answer:

        df['A'] = df['A'].fillna(df['A'].mean()) df['B'] = df['B'].fillna(method='ffill') -> Option A
      4. Quick Check:

        Mean fill + forward fill = B [OK]
      Hint: Fill columns separately with correct methods, assign back [OK]
      Common Mistakes:
      • Using fillna() without assignment, so no change saved
      • Passing 'ffill' as string value instead of method argument
      • Trying to use method='mean' 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