Bird
Raised Fist0
Pandasdata~10 mins

drop_duplicates() for removal in Pandas - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to remove duplicate rows from the DataFrame df.

Pandas
df_clean = df.[1]()
Drag options to blanks, or click blank then click option'
Adrop_duplicates
Bsort_values
Cfillna
Ddropna
Attempts:
3 left
💡 Hint
Common Mistakes
Using dropna() which removes missing values, not duplicates.
Using fillna() which fills missing values.
Using sort_values() which sorts rows but does not remove duplicates.
2fill in blank
medium

Complete the code to remove duplicates based only on the 'Name' column.

Pandas
df_unique = df.drop_duplicates(subset=[1])
Drag options to blanks, or click blank then click option'
A'City'
B'Salary'
C'Name'
D'Age'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a column unrelated to duplicates like 'Age' or 'City'.
Not passing the column name as a string.
3fill in blank
hard

Fix the error in the code to remove duplicates and keep the last occurrence.

Pandas
df_last = df.drop_duplicates(keep=[1])
Drag options to blanks, or click blank then click option'
A'first'
B'last'
C'none'
D'all'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'first' which keeps the first occurrence instead.
Using invalid options like 'none' or 'all'.
4fill in blank
hard

Fill both blanks to create a dictionary of word lengths for words longer than 3 characters.

Pandas
lengths = {word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
B>
C<
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself as the value instead of its length.
Using '<' instead of '>' in the condition.
5fill in blank
hard

Fill all three blanks to create a dictionary of uppercase keys and values greater than zero.

Pandas
result = [1]: [2] for k, v in data.items() if v [3] 0}
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
C>
Dk
Attempts:
3 left
💡 Hint
Common Mistakes
Using original keys without uppercase.
Using wrong comparison operators like '<'.

Practice

(1/5)
1. What does the drop_duplicates() function do in pandas?
easy
A. Removes repeated rows from a DataFrame
B. Adds new rows to a DataFrame
C. Sorts the DataFrame by column values
D. Changes the data type of columns

Solution

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

    This function is designed to remove rows that appear more than once in a DataFrame.
  2. Step 2: Compare options with function behavior

    Only Removes repeated rows from a DataFrame correctly describes removing repeated rows. Other options describe different functions.
  3. Final Answer:

    Removes repeated rows from a DataFrame -> Option A
  4. Quick Check:

    drop_duplicates() removes repeats [OK]
Hint: Remember: drop_duplicates() cleans repeated rows fast [OK]
Common Mistakes:
  • Confusing drop_duplicates() with sorting functions
  • Thinking it adds or modifies data instead of removing duplicates
  • Assuming it changes data types
2. Which of the following is the correct syntax to remove duplicate rows from a DataFrame df?
easy
A. df.drop_duplicate_rows()
B. df.remove_duplicates()
C. df.delete_duplicates()
D. df.drop_duplicates()

Solution

  1. Step 1: Recall the exact pandas method name

    The correct method to remove duplicates is drop_duplicates().
  2. Step 2: Check each option for correct syntax

    Only df.drop_duplicates() uses the correct method name and syntax. Others are invalid pandas methods.
  3. Final Answer:

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

    Correct method name is drop_duplicates() [OK]
Hint: Use exact method name: drop_duplicates() [OK]
Common Mistakes:
  • Using incorrect method names like remove_duplicates()
  • Adding extra words like delete or rows
  • Confusing with other DataFrame methods
3. Given the DataFrame df below:
import pandas as pd
data = {'A': [1, 2, 2, 3], 'B': ['x', 'y', 'y', 'z']}
df = pd.DataFrame(data)
print(df.drop_duplicates())

What will be the output?
medium
A. Rows with index 1, 2, and 3
B. Rows with index 0, 1, and 3
C. Rows with index 0, 2, and 3
D. All rows remain unchanged

Solution

  1. Step 1: Identify duplicate rows in the DataFrame

    Rows 2 and 3 have the same values (A=2, B='y'). So one will be removed.
  2. Step 2: Understand default behavior of drop_duplicates()

    By default, it keeps the first occurrence and removes later duplicates. So row 1 stays, row 2 is removed.
  3. Final Answer:

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

    First duplicates kept, later removed [OK]
Hint: drop_duplicates() keeps first by default [OK]
Common Mistakes:
  • Assuming last duplicate is kept instead of first
  • Thinking all duplicates are removed including first
  • Confusing row indices after removal
4. What is wrong with this code snippet to remove duplicates from DataFrame df?
df.drop_duplicates(inplace=True)
print(df.drop_duplicates())
medium
A. Calling drop_duplicates() twice is redundant
B. Using inplace=True and then printing drop_duplicates() returns original data
C. drop_duplicates() does not have inplace parameter
D. print statement syntax is incorrect

Solution

  1. Step 1: Understand inplace=True effect

    Using inplace=True modifies df directly by removing duplicates.
  2. Step 2: Analyze print statement

    After the first call, df is already deduplicated. The second call to df.drop_duplicates() is redundant as it returns the same DataFrame since there are no duplicates left.
  3. Final Answer:

    Calling drop_duplicates() twice is redundant -> Option A
  4. Quick Check:

    Second call redundant after inplace [OK]
Hint: inplace=True changes df; extra drop_duplicates() returns copy [OK]
Common Mistakes:
  • Thinking drop_duplicates() lacks inplace parameter
  • Assuming print statement is wrong syntax
  • Believing calling twice causes error
5. You have a DataFrame df with columns ['Name', 'Age', 'City']. You want to remove duplicates only based on Name and City, keeping the last occurrence. Which code achieves this?
hard
A. df.drop_duplicates(columns=['Name', 'City'], keep='last')
B. df.drop_duplicates(subset=['Name', 'City'], keep='first')
C. df.drop_duplicates(subset=['Name', 'City'], keep='last')
D. df.drop_duplicates(subset=['Age'], keep='last')

Solution

  1. Step 1: Use subset parameter to specify columns

    To check duplicates only on 'Name' and 'City', use subset=['Name', 'City'].
  2. Step 2: Set keep='last' to keep last occurrence

    keep='last' keeps the last duplicate row, removing earlier ones.
  3. Final Answer:

    df.drop_duplicates(subset=['Name', 'City'], keep='last') -> Option C
  4. Quick Check:

    subset selects columns; keep='last' keeps last duplicate [OK]
Hint: Use subset for columns, keep='last' to keep last duplicate [OK]
Common Mistakes:
  • Using 'columns' instead of 'subset' parameter
  • Forgetting to set keep='last' to keep last occurrence
  • Selecting wrong columns for subset
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