Bird
Raised Fist0
Data Analysis Pythondata~5 mins

info() for column types in Data Analysis Python - Time & Space Complexity

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

We want to understand how the time to run info() on a data table changes as the table grows.

Specifically, how does checking column types scale with more rows and columns?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

import pandas as pd

n = 10  # example value for n

df = pd.DataFrame({
    'A': range(n),
    'B': [str(i) for i in range(n)],
    'C': [float(i) for i in range(n)]
})

df.info()

This code creates a table with n rows and 3 columns, then calls info() to show column types and counts.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Scanning each column to check data types and count non-null values.
  • How many times: For each of the 3 columns, it looks through all n rows once.
How Execution Grows With Input

As the number of rows n grows, the time to check each column grows roughly in direct proportion.

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

Pattern observation: The work grows linearly with the number of rows.

Final Time Complexity

Time Complexity: O(n)

This means the time to run info() grows in a straight line as the number of rows increases.

Common Mistake

[X] Wrong: "The time to run info() depends mostly on the number of columns, not rows."

[OK] Correct: While columns matter, info() checks every row in each column, so more rows mean more work.

Interview Connect

Understanding how data size affects analysis speed helps you write efficient code and explain your choices clearly.

Self-Check

"What if the DataFrame had 100 columns instead of 3? How would the time complexity change?"

Practice

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

Solution

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

    The info() method is used to display concise summary of a DataFrame including data types and non-null counts.
  2. Step 2: Compare with other methods

    Methods like head() show rows, describe() shows statistics, and unique() shows unique values, so they are not correct here.
  3. Final Answer:

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

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

Solution

  1. Step 1: Recall method call syntax in Python

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

    info(df) is incorrect because info is not a standalone function; df.info misses parentheses and returns the method object; df.info[] is invalid syntax.
  3. Final Answer:

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

    Method call needs parentheses [OK]
Hint: Call methods with () after the name [OK]
Common Mistakes:
  • Forgetting parentheses when calling methods
  • Using info() as a standalone function
  • Using brackets [] instead of parentheses ()
3. Given the following DataFrame df and its info() output, what is the data type of the column Age?
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'Score': [85.5, 90.0, 88.0]}
df = pd.DataFrame(data)
df.info()
Output:
 <class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   Name    3 non-null      object 
 1   Age     3 non-null      int64  
 2   Score   3 non-null      float64
dtypes: float64(1), int64(1), object(1)
memory usage: 200.0 bytes
medium
A. float64
B. object
C. int64
D. bool

Solution

  1. Step 1: Locate the column Age in the info output

    The info output shows Age has 3 non-null values and data type int64.
  2. Step 2: Match the data type to options

    Among the options, int64 matches the data type shown for Age.
  3. Final Answer:

    int64 -> Option C
  4. Quick Check:

    Age column type = int64 [OK]
Hint: Look for column name and dtype in info() output [OK]
Common Mistakes:
  • Confusing object with string
  • Mixing float64 and int64 types
  • Ignoring the dtype column in info()
4. You run df.info() but get an error: AttributeError: 'list' object has no attribute 'info'. What is the most likely cause?
medium
A. You forgot to import pandas
B. You called info() on a list, not a DataFrame
C. You used info() without parentheses
D. The DataFrame is empty

Solution

  1. Step 1: Analyze the error message

    The error says a 'list' object has no attribute 'info', meaning the variable is a list, not a DataFrame.
  2. Step 2: Identify the cause

    Only DataFrames have the info() method. Calling it on a list causes this error.
  3. Final Answer:

    You called info() on a list, not a DataFrame -> Option B
  4. Quick Check:

    info() needs DataFrame, not list [OK]
Hint: Check variable type before calling info() [OK]
Common Mistakes:
  • Assuming info() works on lists
  • Ignoring error message details
  • Thinking empty DataFrame causes this error
5. You have a DataFrame df with 200 columns. Column 'B' has some missing values. You want to quickly check which columns have missing data and their data types. Which code snippet using info() helps you do this?
hard
A. df.info(verbose=True)
B. df.info(null_counts=True)
C. df.info(show_missing=True)
D. df.info()

Solution

  1. Step 1: Recall info() behavior on wide DataFrames

    With 200 columns (> pandas default max_info_columns=100), df.info() truncates the column list, hiding non-null counts and dtypes for most columns including potentially 'B'.
  2. Step 2: Check options

    df.info(verbose=True) forces full display of all columns' non-null counts and dtypes. Other parameters like null_counts and show_missing are invalid.
  3. Final Answer:

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

    verbose=True for full column info on large DFs [OK]
Hint: df.info(verbose=True) for full missing counts/types on wide DFs [OK]
Common Mistakes:
  • Using df.info() on wide DFs (truncates columns)
  • Using invalid parameters with info()
  • Confusing verbose with missing data display
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