Bird
Raised Fist0
Pandasdata~5 mins

info() for column types and nulls in Pandas - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: info() for column types and nulls
O(n x m)
Understanding Time Complexity

We want to understand how long it takes for pandas to show column types and count missing values using info().

How does the time grow when the data has more rows or columns?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

import pandas as pd

n = 1000

df = pd.DataFrame({
    'A': range(n),
    'B': [None if i % 10 == 0 else i for i in range(n)],
    'C': ['text'] * n
})

df.info()

This code creates a DataFrame with n rows and 3 columns, then calls info() to show data types and count nulls.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: pandas scans each column to count non-null values and check data types.
  • How many times: It processes each of the n rows once per column.
How Execution Grows With Input

As the number of rows grows, pandas must check more data to count nulls and types.

Input Size (n)Approx. Operations
10About 30 checks (3 columns x 10 rows)
100About 300 checks
1000About 3000 checks

Pattern observation: The work grows roughly in direct proportion to the number of rows times columns.

Final Time Complexity

Time Complexity: O(n x m)

This means the time grows linearly with the number of rows n and columns m.

Common Mistake

[X] Wrong: "Calling info() is always very fast and does not depend on data size."

[OK] Correct: Actually, info() looks at every row in each column to count nulls and types, so bigger data means more work and longer time.

Interview Connect

Knowing how info() scales helps you understand data inspection costs and prepares you to explain performance in real data projects.

Self-Check

What if we added many more columns instead of rows? How would the time complexity change?

Practice

(1/5)
1. What does the info() method in pandas primarily show about a DataFrame?
easy
A. The number of non-null values and data types of each column
B. The first five rows of the DataFrame
C. The summary statistics like mean and median
D. The unique values in each column

Solution

  1. Step 1: Understand what info() displays

    The info() method shows the count of non-null entries and the data type for each column in a DataFrame.
  2. Step 2: Compare with other options

    The first five rows are shown by head(), summary statistics like mean and median by describe(), and unique values by methods like unique(), not info().
  3. Final Answer:

    The number of non-null values and data types of each column -> Option A
  4. Quick Check:

    info() = non-null counts + dtypes [OK]
Hint: Remember: info() shows counts and types, not data samples [OK]
Common Mistakes:
  • Confusing info() with head() or describe()
  • Thinking info() shows unique values
  • Assuming info() shows data content
2. Which of the following is the correct way to call the info() method on a pandas DataFrame named df?
easy
A. df.info()
B. info(df)
C. df.info
D. df.info[]

Solution

  1. Step 1: Recall method call syntax in pandas

    Methods are called with parentheses after the method name, so df.info() is correct.
  2. Step 2: Check other options for syntax errors

    info(df) treats info as a function, which it is not. df.info misses parentheses, so it returns the method object, not the output. df.info[] uses invalid syntax with brackets.
  3. Final Answer:

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

    Method call needs parentheses: df.info() [OK]
Hint: Call methods with parentheses: df.info() not df.info [OK]
Common Mistakes:
  • Forgetting parentheses when calling methods
  • Using function syntax instead of method syntax
  • Using brackets [] instead of parentheses ()
3. Given the DataFrame df below, what will df.info() show for the column Age?
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, None, 30]}
df = pd.DataFrame(data)
df.info()
medium
A. Age column has 3 non-null values and dtype float64
B. Age column has 2 non-null values and dtype int64
C. Age column has 2 non-null values and dtype float64
D. Age column has 3 non-null values and dtype int64

Solution

  1. Step 1: Count non-null values in Age column

    The Age column has values 25, None, and 30. None counts as null, so non-null count is 2.
  2. Step 2: Determine data type of Age column

    Because of the None, pandas converts the Age column to float64 to accommodate NaN values.
  3. Final Answer:

    Age column has 2 non-null values and dtype float64 -> Option C
  4. Quick Check:

    Nulls reduce count; None makes dtype float64 [OK]
Hint: Nulls reduce non-null count; mixed types become float [OK]
Common Mistakes:
  • Counting None as non-null
  • Assuming dtype stays int64 despite nulls
  • Ignoring dtype conversion due to nulls
4. You run df.info() but get an error: AttributeError: 'DataFrame' object has no attribute 'info'. What is the most likely cause?
medium
A. The DataFrame is empty
B. You forgot to import pandas as pd
C. You called info without parentheses
D. You overwrote the variable name df with a non-DataFrame object

Solution

  1. Step 1: Understand the error meaning

    The error says df has no attribute info, meaning df is not a DataFrame.
  2. Step 2: Identify common cause

    This usually happens if df was reassigned to something else, like a list or string, losing DataFrame methods.
  3. Final Answer:

    You overwrote the variable name df with a non-DataFrame object -> Option D
  4. Quick Check:

    AttributeError means wrong object type [OK]
Hint: Check if df is still a DataFrame before calling info() [OK]
Common Mistakes:
  • Assuming empty DataFrame causes this error
  • Thinking missing parentheses cause AttributeError
  • Ignoring variable reassignment issues
5. You have a DataFrame df with columns ['A', 'B', 'C']. Column B has many null values. You want to quickly check which columns have missing data and their types. Which code snippet best helps you decide what cleaning is needed?
hard
A. df.isnull().sum()
B. df.info()
C. df.describe()
D. df.head()

Solution

  1. Step 1: Identify what each method shows

    df.info() shows non-null counts and data types, helping spot missing data and column types.
  2. Step 2: Compare with other options

    df.describe() summarizes numeric stats but not null counts. df.isnull().sum() shows null counts but not types. df.head() shows sample rows but not summary info.
  3. Final Answer:

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

    info() = null counts + types [OK]
Hint: Use info() to see null counts and types in one step [OK]
Common Mistakes:
  • Using describe() expecting null info
  • Using isnull().sum() but ignoring types
  • Using head() which shows no summary
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