Bird
Raised Fist0
Pandasdata~5 mins

Counting missing values in Pandas

Choose your learning style10 modes available
Introduction

We count missing values to understand where data is incomplete. This helps us decide how to clean or fix the data.

Checking if survey responses have unanswered questions.
Finding missing sales data in a store's records.
Identifying gaps in sensor readings over time.
Verifying if any customer information is missing before analysis.
Syntax
Pandas
df.isna().sum()

df.isna() creates a table showing True where data is missing.

.sum() adds up True values (missing data) for each column.

Examples
Count missing values in each column of the DataFrame df.
Pandas
df.isna().sum()
Count missing values only in the Age column.
Pandas
df['Age'].isna().sum()
Count total missing values in the entire DataFrame.
Pandas
df.isna().sum().sum()
Sample Program

This code creates a small table with some missing data. It counts missing values per column and total missing values in the whole table.

Pandas
import pandas as pd

data = {'Name': ['Alice', 'Bob', None, 'David'],
        'Age': [25, None, 30, 22],
        'City': ['NY', 'LA', 'LA', None]}

df = pd.DataFrame(data)

missing_per_column = df.isna().sum()
total_missing = df.isna().sum().sum()

print('Missing values per column:')
print(missing_per_column)
print('\nTotal missing values in DataFrame:')
print(total_missing)
OutputSuccess
Important Notes

Missing values are shown as NaN in pandas.

You can also use df.isnull() which works the same as df.isna().

Summary

Use df.isna().sum() to count missing values per column.

Use df.isna().sum().sum() to count all missing values in the DataFrame.

Counting missing data helps you understand data quality before analysis.

Practice

(1/5)
1. What does the pandas method df.isna().sum() do when applied to a DataFrame df?
easy
A. Counts the total number of rows in the DataFrame
B. Counts the number of missing values in each column of the DataFrame
C. Replaces missing values with zero in the DataFrame
D. Returns the data types of each column in the DataFrame

Solution

  1. Step 1: Understand df.isna()

    This method returns a DataFrame of the same shape as df with True where values are missing and False otherwise.
  2. Step 2: Apply .sum() on the boolean DataFrame

    Summing True values (which count as 1) per column gives the count of missing values in each column.
  3. Final Answer:

    Counts the number of missing values in each column of the DataFrame -> Option B
  4. Quick Check:

    df.isna().sum() counts missing per column [OK]
Hint: Use isna() then sum() to count missing per column [OK]
Common Mistakes:
  • Thinking sum() counts rows instead of missing values
  • Confusing isna() with fillna()
  • Assuming it replaces missing values
2. Which of the following is the correct syntax to count all missing values in a pandas DataFrame df?
easy
A. df.isna().count()
B. df.count().sum()
C. df.isna().sum().sum()
D. df.isnull().count()

Solution

  1. Step 1: Use df.isna() or df.isnull() to find missing values

    Both return a boolean DataFrame marking missing values as True.
  2. Step 2: Use .sum().sum() to count all missing values

    The first sum() sums missing per column, the second sums those counts to get total missing in the DataFrame.
  3. Final Answer:

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

    Total missing = df.isna().sum().sum() [OK]
Hint: Double sum() after isna() counts all missing values [OK]
Common Mistakes:
  • Using count() which counts non-missing values
  • Using isna().count() which counts all rows, not missing
  • Confusing isna() with isnull().count()
3. Given the DataFrame df below:
import pandas as pd
data = {'A': [1, None, 3], 'B': [None, None, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

What is the output of df.isna().sum()?
medium
A. A 1 B 1 C 1 dtype: int64
B. A 0 B 0 C 0 dtype: int64
C. A 2 B 1 C 0 dtype: int64
D. A 1 B 2 C 0 dtype: int64

Solution

  1. Step 1: Identify missing values in each column

    Column A has one None (missing), column B has two None values, column C has none.
  2. Step 2: Apply df.isna().sum()

    This counts missing per column: A=1, B=2, C=0.
  3. Final Answer:

    A 1 B 2 C 0 dtype: int64 -> Option D
  4. Quick Check:

    Count missing per column matches output [OK]
Hint: Count None or NaN per column to verify sums [OK]
Common Mistakes:
  • Mixing counts of missing and non-missing
  • Miscounting missing in column B
  • Assuming None counts as zero
4. You run the code below but get an error:
import pandas as pd
data = {'X': [1, 2, None], 'Y': [None, 5, 6]}
df = pd.DataFrame(data)
missing = df.isna.sum()

What is the error and how to fix it?
medium
A. Missing parentheses after isna; fix with df.isna().sum()
B. DataFrame missing columns; add columns before counting
C. sum() is not a pandas method; use count() instead
D. None values cause error; replace with zeros first

Solution

  1. Step 1: Identify the error in method call

    The code uses df.isna.sum() missing parentheses after isna, which is a method.
  2. Step 2: Correct the syntax

    Use df.isna().sum() to call the method and then sum missing values.
  3. Final Answer:

    Missing parentheses after isna; fix with df.isna().sum() -> Option A
  4. Quick Check:

    Method calls need parentheses [OK]
Hint: Remember to add () after isna to call the method [OK]
Common Mistakes:
  • Forgetting parentheses on isna()
  • Using sum() instead of count() incorrectly
  • Thinking None causes errors in counting
5. You have a DataFrame df with columns ['age', 'income', 'score']. You want to find the percentage of missing values in each column. Which code snippet correctly calculates this?
hard
A. df.isna().sum() / len(df) * 100
B. df.isna().count() / len(df) * 100
C. df.count() / df.isna().sum() * 100
D. df.isna().sum() * 100

Solution

  1. Step 1: Count missing values per column

    Use df.isna().sum() to get missing counts per column.
  2. Step 2: Calculate percentage of missing values

    Divide missing counts by total rows len(df) and multiply by 100 to get percentage.
  3. Final Answer:

    df.isna().sum() / len(df) * 100 -> Option A
  4. Quick Check:

    Missing % = (missing count / total rows) * 100 [OK]
Hint: Divide missing count by total rows, multiply by 100 [OK]
Common Mistakes:
  • Using count() which counts non-missing values
  • Multiplying missing count by 100 without dividing
  • Dividing count by missing count incorrectly
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