Bird
Raised Fist0
Pandasdata~5 mins

NaN and None in Pandas - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does NaN represent in Pandas?

NaN stands for 'Not a Number'. It is used to represent missing or undefined numerical data in Pandas.

Click to reveal answer
beginner
How is None treated in Pandas DataFrames?

None is treated as a missing value in object columns. For numerical columns, it is converted to NaN.

Click to reveal answer
beginner
Which Pandas function can you use to check for missing values including NaN and None?

You can use DataFrame.isna() or DataFrame.isnull() to check for missing values. Both treat NaN and None as missing.

Click to reveal answer
intermediate
What happens when you perform arithmetic operations on NaN values in Pandas?

Any arithmetic operation involving NaN results in NaN. This helps keep track of missing data through calculations.

Click to reveal answer
beginner
How can you replace NaN or None values in a DataFrame?

You can use DataFrame.fillna(value) to replace missing values with a specified value.

Click to reveal answer
What does NaN stand for in Pandas?
ANumber zero
BNull and None
CNot a Number
DNegative number
Which function checks for missing values in a Pandas DataFrame?
ADataFrame.fillna()
BDataFrame.isna()
CDataFrame.dropna()
DDataFrame.sum()
How does Pandas treat None in a numeric column?
AAs <code>NaN</code>
BAs zero
CAs a string 'None'
DRaises an error
What is the result of adding a number to NaN in Pandas?
AThe number
BZero
CAn error
D<code>NaN</code>
Which method replaces missing values in a DataFrame?
Afillna()
Bisna()
Cdropna()
Dreplace()
Explain how Pandas handles NaN and None values in DataFrames.
Think about missing data and how Pandas shows it.
You got /4 concepts.
    Describe how you can find and replace missing values in a Pandas DataFrame.
    Focus on checking and fixing missing data.
    You got /3 concepts.

      Practice

      (1/5)
      1. What do NaN and None represent in a pandas DataFrame?
      easy
      A. Missing or null data values
      B. Valid numeric data
      C. Column headers
      D. Index labels

      Solution

      1. Step 1: Understand the role of NaN and None in pandas

        Both NaN and None are used to mark missing or null data in pandas DataFrames.
      2. Step 2: Differentiate from other DataFrame elements

        They do not represent valid data, headers, or indexes but indicate absence of data.
      3. Final Answer:

        Missing or null data values -> Option A
      4. Quick Check:

        NaN and None = Missing data [OK]
      Hint: NaN and None always mean missing data in pandas [OK]
      Common Mistakes:
      • Thinking NaN is a valid number
      • Confusing None with column names
      • Assuming NaN is an index label
      2. Which of the following is the correct way to check for missing values in a pandas DataFrame df?
      easy
      A. df.isna()
      B. df.notna()
      C. df.isnan()
      D. df.ismissing()

      Solution

      1. Step 1: Recall pandas functions for missing data

        The correct function to check for missing values is isna(), which returns a boolean DataFrame indicating missing entries.
      2. Step 2: Identify incorrect options

        notna() returns a boolean DataFrame indicating non-missing entries; isnan() and ismissing() do not exist in pandas.
      3. Final Answer:

        df.isna() -> Option A
      4. Quick Check:

        Use isna() to find missing values [OK]
      Hint: Use df.isna() to find missing values in pandas [OK]
      Common Mistakes:
      • Using non-existent df.isnan()
      • Using df.notna() which checks non-missing values
      • Trying df.ismissing() which is invalid
      3. Given the code:
      import pandas as pd
      import numpy as np
      df = pd.DataFrame({'A': [1, np.nan, 3], 'B': [None, 2, 3]})
      result = df.isna().sum().to_dict()

      What is the value of result?
      medium
      A. {'A': 0, 'B': 0}
      B. {'A': 0, 'B': 1}
      C. {'A': 1, 'B': 0}
      D. {'A': 1, 'B': 1}

      Solution

      1. Step 1: Identify missing values in each column

        Column 'A' has one np.nan (missing), column 'B' has one None (missing).
      2. Step 2: Use isna() and sum() to count missing per column

        df.isna() marks missing as True, sum() counts Trues per column, resulting in {'A': 1, 'B': 1}.
      3. Final Answer:

        {'A': 1, 'B': 1} -> Option D
      4. Quick Check:

        Count missing with isna().sum() = {'A':1,'B':1} [OK]
      Hint: Count missing with df.isna().sum() per column [OK]
      Common Mistakes:
      • Ignoring None as missing in column B
      • Confusing sum() to count non-missing
      • Assuming np.nan and None are treated differently here
      4. Consider this code snippet:
      import pandas as pd
      df = pd.DataFrame({'X': [1, None, 3]})
      df['X'] = df['X'].fillna(0)
      print(df)

      What is the output?
      medium
      A. X 0 1 1 3 2 0
      B. X 0 1 1 None 2 3
      C. X 0 1 1 0 2 3
      D. X 0 1 1 NaN 2 3

      Solution

      1. Step 1: Identify missing value in column 'X'

        The second row has None, which pandas treats as missing (NaN).
      2. Step 2: Use fillna(0) to replace missing with zero

        The fillna(0) replaces the missing value with 0, so the DataFrame becomes 1, 0, 3.
      3. Final Answer:

        X 0 1 1 0 2 3 -> Option C
      4. Quick Check:

        fillna(0) replaces None with 0 [OK]
      Hint: fillna(0) replaces missing values with zero [OK]
      Common Mistakes:
      • Expecting None to remain after fillna
      • Confusing fillna with dropna
      • Assuming fillna changes non-missing values
      5. You have a DataFrame df with columns 'A' and 'B' containing some NaN and None values. You want to replace all missing values in 'A' with the mean of 'A' and all missing values in 'B' with the string 'missing'. Which code correctly does this?
      hard
      A. df.fillna({'A': df['A'].mean(), 'B': 'missing'})
      B. df['A'] = df['A'].fillna(df['A'].mean()) df['B'] = df['B'].fillna('missing')
      C. df['A'].fillna(df['A'].mean()) df['B'].fillna('missing')
      D. df.fillna(df.mean()) df['B'] = df['B'].fillna('missing')

      Solution

      1. Step 1: Replace missing in 'A' with its mean

        Use df['A'].fillna(df['A'].mean()) and assign back to 'A' to update the column.
      2. Step 2: Replace missing in 'B' with 'missing'

        Use df['B'].fillna('missing') and assign back to 'B' to update that column.
      3. Step 3: Check other options for correctness

        df.fillna({'A': df['A'].mean(), 'B': 'missing'}) does not assign back, so changes are not saved; df['A'].fillna(df['A'].mean()) df['B'].fillna('missing') also misses assignment; df.fillna(df.mean()) df['B'] = df['B'].fillna('missing') tries to fill numeric mean for all columns which fails for 'B'.
      4. Final Answer:

        df['A'] = df['A'].fillna(df['A'].mean()) df['B'] = df['B'].fillna('missing') -> Option B
      5. Quick Check:

        Assign fillna results back to columns [OK]
      Hint: Assign fillna results back to columns to save changes [OK]
      Common Mistakes:
      • Not assigning fillna result back to DataFrame
      • Using fillna without specifying columns
      • Trying to fill numeric mean into string column
      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