Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Basic DataFrame info (shape, dtypes, describe) in Data Analysis Python - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Basic DataFrame info (shape, dtypes, describe)
O(n x m)
Understanding Time Complexity

We want to know how long it takes to get basic information from a DataFrame.

Specifically, how does the time grow when we ask for shape, data types, or summary statistics?

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': range(n, 2*n),
    'C': ['text']*n
})

shape = df.shape
types = df.dtypes
summary = df.describe()

This code creates a DataFrame and gets its shape, data types, and summary statistics.

Identify Repeating Operations
  • Primary operation: Calculating summary statistics with df.describe() loops over columns and rows.
  • How many times: It processes each column and each row of numeric data once.
How Execution Grows With Input

Getting shape and data types is very fast and does not depend on data size much.

Calculating summary statistics grows with the number of rows and columns.

Input Size (n)Approx. Operations
10About 20 operations (10 rows x 2 numeric columns)
100About 200 operations
1000About 2000 operations

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

Final Time Complexity

Time Complexity: O(n x m)

This means the time grows linearly with the number of rows and columns in the DataFrame.

Common Mistake

[X] Wrong: "Getting the shape or data types takes a long time like processing all data."

[OK] Correct: Shape and data types are stored metadata, so accessing them is very fast and does not depend on data size.

Interview Connect

Understanding how basic DataFrame info scales helps you work efficiently with data and explain your code clearly.

Self-Check

"What if we used df.describe(include='all') to include all columns? How would the time complexity change?"

Practice

(1/5)
1. What does df.shape tell you about a DataFrame?
easy
A. The data types of each column
B. The number of rows and columns in the DataFrame
C. Summary statistics like mean and median
D. The first few rows of the DataFrame

Solution

  1. Step 1: Understand what df.shape returns

    df.shape gives a tuple with two numbers: rows and columns count.
  2. Step 2: Match the description to the options

    The number of rows and columns in the DataFrame correctly describes this as the number of rows and columns.
  3. Final Answer:

    The number of rows and columns in the DataFrame -> Option B
  4. Quick Check:

    Shape = (rows, columns) [OK]
Hint: Remember shape shows size: rows and columns [OK]
Common Mistakes:
  • Confusing shape with data types
  • Thinking shape shows data summary
  • Mixing shape with head() output
2. Which of the following is the correct way to check the data types of columns in a DataFrame named df?
easy
A. df.dtypes
B. df.columns.types
C. df.describe()
D. df.types()

Solution

  1. Step 1: Recall the attribute for column data types

    The correct attribute to check data types is df.dtypes, not a method.
  2. Step 2: Verify the options

    df.dtypes uses df.dtypes correctly. Others are invalid or do not exist.
  3. Final Answer:

    df.dtypes -> Option A
  4. Quick Check:

    dtypes attribute shows column types [OK]
Hint: Use df.dtypes without parentheses to check types [OK]
Common Mistakes:
  • Adding parentheses like df.dtypes()
  • Using non-existent methods like df.types()
  • Confusing describe() with dtypes
3. Given the DataFrame df below:
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4.0, 5.5, 6.1], 'C': ['x', 'y', 'z']}
df = pd.DataFrame(data)
print(df.describe())

What will be the output of df.describe()?
medium
A. Summary statistics for all columns including C
B. An error because column C is non-numeric
C. Summary statistics for columns A and B only, excluding C
D. Only the count of rows

Solution

  1. Step 1: Understand what df.describe() does

    It provides summary stats (count, mean, std, min, max, quartiles) for numeric columns only by default.
  2. Step 2: Check the DataFrame columns

    Columns A and B are numeric (int and float), C is string (non-numeric), so C is excluded.
  3. Final Answer:

    Summary statistics for columns A and B only, excluding C -> Option C
  4. Quick Check:

    describe() skips non-numeric columns by default [OK]
Hint: describe() shows stats only for numeric columns by default [OK]
Common Mistakes:
  • Expecting describe() to include string columns
  • Thinking describe() throws error on strings
  • Assuming describe() shows only count
4. You run the code below and get an error:
import pandas as pd
data = {'X': [10, 20, 30], 'Y': [5, 15, 25]}
df = pd.DataFrame(data)
print(df.dtypes())

What is the cause of the error?
medium
A. dtypes is an attribute, not a method, so parentheses cause error
B. DataFrame columns have mixed types
C. DataFrame is empty
D. Missing import statement for pandas

Solution

  1. Step 1: Identify the error source

    The code calls df.dtypes() with parentheses, but dtypes is an attribute, not a method.
  2. Step 2: Understand correct usage

    Correct usage is df.dtypes without parentheses to access data types.
  3. Final Answer:

    dtypes is an attribute, not a method, so parentheses cause error -> Option A
  4. Quick Check:

    Use df.dtypes without () [OK]
Hint: Remember dtypes is attribute, no parentheses [OK]
Common Mistakes:
  • Adding parentheses to dtypes
  • Assuming error is from missing import
  • Thinking DataFrame is empty
5. You have a DataFrame df with columns: Age (int), Salary (float), and Department (string). You want to quickly check how many rows and columns it has, the data types of each column, and summary statistics for numeric columns. Which sequence of commands gives you all this information?
hard
A. df.columns; df.dtypes; df.tail()
B. df.describe(); df.shape; df.columns
C. df.info(); df.head(); df.describe()
D. df.shape; df.dtypes; df.describe()

Solution

  1. Step 1: Identify commands for each info type

    df.shape gives rows and columns count, df.dtypes shows data types, and df.describe() gives summary stats for numeric columns.
  2. Step 2: Check options for correct sequence

    df.shape; df.dtypes; df.describe() lists these three commands in order, so it provides all required info.
  3. Final Answer:

    df.shape; df.dtypes; df.describe() -> Option D
  4. Quick Check:

    shape, dtypes, describe cover size, types, stats [OK]
Hint: Use shape, dtypes, then describe for full quick info [OK]
Common Mistakes:
  • Using df.columns instead of df.dtypes for types
  • Confusing df.info() with df.describe()
  • Missing shape to check size
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