Bird
Raised Fist0
Pandasdata~5 mins

head() and tail() for previewing in Pandas - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: head() and tail() for previewing
O(1)
Understanding Time Complexity

When we use head() or tail() in pandas, we want to quickly see a small part of our data.

We ask: How does the time to get this preview change as the data gets bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

import pandas as pd

df = pd.DataFrame({
    'A': range(1000000),
    'B': range(1000000, 2000000)
})

preview_top = df.head(5)
preview_bottom = df.tail(5)

This code creates a large table and then shows the first 5 and last 5 rows.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Selecting a fixed number of rows from the start or end.
  • How many times: Exactly 5 rows are accessed each time, no matter the total size.
How Execution Grows With Input

Getting 5 rows from the start or end takes the same effort whether the table has 10 or 1,000,000 rows.

Input Size (n)Approx. Operations
105
1005
10005

Pattern observation: The number of operations stays the same, fixed by the number of rows requested.

Final Time Complexity

Time Complexity: O(1)

This means the time to preview rows does not grow as the data gets bigger; it stays constant.

Common Mistake

[X] Wrong: "Getting the first or last rows takes longer if the table is huge."

[OK] Correct: Because pandas directly accesses only the requested rows, it does not scan the whole table.

Interview Connect

Understanding that previewing data is quick and does not depend on total size helps you explain efficient data handling in real projects.

Self-Check

What if we changed head(5) to head(n) where n grows with the data size? How would the time complexity change?

Practice

(1/5)
1. What does the head() function do in pandas?
easy
A. Sorts the DataFrame by index
B. Shows the last few rows of the DataFrame
C. Shows the first few rows of the DataFrame
D. Deletes the first few rows of the DataFrame

Solution

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

    The head() function is designed to display the first few rows of a DataFrame to preview data.
  2. Step 2: Compare with other options

    tail() shows the last few rows, not the first. Deleting or sorting are unrelated to head().
  3. Final Answer:

    Shows the first few rows of the DataFrame -> Option C
  4. Quick Check:

    head() = first rows [OK]
Hint: head() previews start; tail() previews end [OK]
Common Mistakes:
  • Confusing head() with tail()
  • Thinking head() deletes rows
  • Assuming head() sorts data
2. Which of the following is the correct syntax to show the last 3 rows of a DataFrame named df?
easy
A. df.tail(3)
B. df.head(3)
C. df.tail[-3]
D. df.last(3)

Solution

  1. Step 1: Recall the syntax for tail()

    The correct syntax to get last rows is df.tail(n), where n is the number of rows.
  2. Step 2: Check each option

    df.tail(3) is correct. df.head(3) shows first rows. df.tail[-3] is invalid syntax. df.last(3) does not exist.
  3. Final Answer:

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

    Use tail(n) for last n rows [OK]
Hint: Use tail(n) to get last n rows [OK]
Common Mistakes:
  • Using head() instead of tail()
  • Using square brackets with tail()
  • Using non-existent last() method
3. Given the DataFrame df below:
   A  B
0  5  10
1  6  11
2  7  12
3  8  13
4  9  14
What will df.head(2) return?
medium
A. Rows with index 3 and 4
B. Rows with index 0 and 1
C. Rows with index 2 and 3
D. Rows with index 1 and 2

Solution

  1. Step 1: Understand what head(2) does

    head(2) returns the first 2 rows of the DataFrame, which are rows with index 0 and 1.
  2. Step 2: Identify the rows in the DataFrame

    Rows 0 and 1 have values (5,10) and (6,11) respectively, matching the first two rows.
  3. Final Answer:

    Rows with index 0 and 1 -> Option B
  4. Quick Check:

    head(2) = first 2 rows [OK]
Hint: head(n) returns first n rows [OK]
Common Mistakes:
  • Selecting last rows instead of first
  • Confusing index numbers
  • Assuming head() returns columns
4. You run df.tail(3) but get an error: TypeError: 'int' object is not callable. What is the most likely cause?
medium
A. You assigned a variable named tail as an integer earlier
B. You used square brackets instead of parentheses
C. The DataFrame df is empty
D. You forgot to import pandas

Solution

  1. Step 1: Understand the error message

    TypeError: 'int' object is not callable means you tried to call an integer like a function.
  2. Step 2: Identify cause related to tail

    If you assigned tail as an integer variable, it overrides the method, causing this error when calling df.tail(3).
  3. Final Answer:

    You assigned a variable named tail as an integer earlier -> Option A
  4. Quick Check:

    Variable name conflicts cause callable errors [OK]
Hint: Avoid naming variables same as methods [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Assuming empty DataFrame causes this error
  • Ignoring import errors
5. You have a DataFrame df with 1000 rows. You want to preview the first 5 rows and the last 5 rows together in one DataFrame. Which code correctly does this?
hard
A. df.head(5) + df.tail(5)
B. df.head(5).merge(df.tail(5))
C. df.head(5).append(df.tail(5))
D. pd.concat([df.head(5), df.tail(5)])

Solution

  1. Step 1: Understand how to combine DataFrames vertically

    To combine rows from two DataFrames, use pd.concat() or append(). The plus operator and merge are incorrect here.
  2. Step 2: Check each option

    pd.concat([df.head(5), df.tail(5)]) correctly stacks first and last 5 rows. df.head(5) + df.tail(5) causes error. append() is deprecated in recent pandas versions. merge() is for joining on columns, not stacking rows.
  3. Final Answer:

    pd.concat([df.head(5), df.tail(5)]) -> Option D
  4. Quick Check:

    Use pd.concat() to stack DataFrames [OK]
Hint: Use pd.concat() to combine head and tail rows [OK]
Common Mistakes:
  • Using + operator to add DataFrames
  • Using deprecated append() method
  • Using merge() instead of concat()
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