These functions help you quickly see the first or last few rows of your data. This is useful to understand what your data looks like without loading everything.
You want to check the first few entries of a large dataset to understand its structure.
You want to see the last few records to verify recent data entries.
You want to quickly preview data after loading it from a file.
You want to check if data cleaning steps worked by looking at sample rows.
You want to confirm column names and data types by viewing a small part of the data.
Syntax
Pandas
DataFrame.head(n=5)
DataFrame.tail(n=5)
n is the number of rows to show. Default is 5.
head() shows rows from the start, tail() shows rows from the end.
Examples
Show first 5 rows and last 5 rows of the DataFrame df.
Pandas
df.head()
df.tail()
Show first 3 rows and last 2 rows of df.
Pandas
df.head(3)
df.tail(2)
Show empty DataFrame structure with columns but no rows.
Pandas
df.head(0)
df.tail(0)
Sample Program
This code creates a small table of people with their ages and cities. Then it shows the first 3 rows and last 2 rows to preview the data.
If you ask for more rows than exist, head() or tail() will just return all rows without error.
These functions do not change your data; they only show a small part for quick checks.
Summary
head() shows the first few rows of data.
tail() shows the last few rows of data.
Both help you quickly understand your dataset without loading everything.
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
Step 1: Understand the purpose of head()
The head() function is designed to display the first few rows of a DataFrame to preview data.
Step 2: Compare with other options
tail() shows the last few rows, not the first. Deleting or sorting are unrelated to head().
Final Answer:
Shows the first few rows of the DataFrame -> Option C
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
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.
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.
Final Answer:
df.tail(3) -> Option A
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
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.
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.
Final Answer:
Rows with index 0 and 1 -> Option B
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
Step 1: Understand the error message
TypeError: 'int' object is not callable means you tried to call an integer like a function.
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).
Final Answer:
You assigned a variable named tail as an integer earlier -> Option A
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
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.
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.
Final Answer:
pd.concat([df.head(5), df.tail(5)]) -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.