Bird
Raised Fist0
Pandasdata~10 mins

sort_values() by single column 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 sort the DataFrame by the 'age' column in ascending order.

Pandas
sorted_df = df.sort_values(by=[1])
Drag options to blanks, or click blank then click option'
A'name'
B'height'
C'score'
D'age'
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to put the column name in quotes.
Using a column name that does not exist in the DataFrame.
2fill in blank
medium

Complete the code to sort the DataFrame by the 'score' column in descending order.

Pandas
sorted_df = df.sort_values(by='score', ascending=[1])
Drag options to blanks, or click blank then click option'
AFalse
BTrue
C'False'
D'True'
Attempts:
3 left
💡 Hint
Common Mistakes
Using strings 'True' or 'False' instead of boolean True or False.
Setting ascending to True which sorts in ascending order.
3fill in blank
hard

Fix the error in the code to correctly sort the DataFrame by the 'height' column.

Pandas
sorted_df = df.sort_values(by=[1])
Drag options to blanks, or click blank then click option'
A'height'
Bheight
Cdf['height']
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the column name without quotes causing a NameError.
Passing the entire column series instead of the column name.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps each word to its length, but only for words longer than 4 characters.

Pandas
{word: [1] for word in words if [2]
Drag options to blanks, or click blank then click option'
Alen(word)
Blen(word) > 4
Cword > 4
Dword.length()
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself in the condition instead of its length.
Using incorrect syntax like word.length() which is not valid in Python.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps each uppercase word to its score, but only if the score is positive.

Pandas
{ [1]: [2] for [3], [2] in data.items() if [2] > 0 }
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
Ck
Ditem
Attempts:
3 left
💡 Hint
Common Mistakes
Using item instead of unpacking key and value.
Not converting the key to uppercase.
Using the wrong variable names in the comprehension.

Practice

(1/5)
1. What does the sort_values() function do in pandas when used on a DataFrame?
easy
A. It filters rows based on a condition.
B. It changes the data type of a column.
C. It sorts the DataFrame rows based on the values in a specified column.
D. It adds a new column to the DataFrame.

Solution

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

    This function is used to reorder rows in a DataFrame based on the values in one or more columns.
  2. Step 2: Compare with other options

    Changing data types, filtering rows, or adding columns are done by different functions, not sort_values().
  3. Final Answer:

    It sorts the DataFrame rows based on the values in a specified column. -> Option C
  4. Quick Check:

    sort_values() = reorder rows by column [OK]
Hint: Remember: sort_values() orders rows by column values [OK]
Common Mistakes:
  • Confusing sorting with filtering
  • Thinking it changes data types
  • Assuming it adds columns
2. Which of the following is the correct syntax to sort a DataFrame df by the column 'age' in ascending order?
easy
A. df.sort_values(by='age', ascending=True)
B. df.sort_values('age', ascending=False)
C. df.sort(by='age', ascending=True)
D. df.sort_values(by='age', ascending='yes')

Solution

  1. Step 1: Check the correct function and parameters

    The function is sort_values() and it requires the parameter by='column_name'. The ascending parameter should be a boolean.
  2. Step 2: Validate each option

    df.sort_values(by='age', ascending=True) uses correct function and parameters. df.sort_values('age', ascending=False) has ascending=False (descending). df.sort(by='age', ascending=True) uses wrong function sort(). df.sort_values(by='age', ascending='yes') uses a string instead of boolean for ascending.
  3. Final Answer:

    df.sort_values(by='age', ascending=True) -> Option A
  4. Quick Check:

    Correct syntax = df.sort_values(by='age', ascending=True) [OK]
Hint: Use by='column' and ascending=True/False in sort_values() [OK]
Common Mistakes:
  • Using sort() instead of sort_values()
  • Passing ascending as string instead of boolean
  • Omitting 'by' keyword
3. Given the DataFrame:
import pandas as pd
df = pd.DataFrame({'name': ['Anna', 'Bob', 'Cara'], 'score': [88, 92, 85]})
sorted_df = df.sort_values(by='score')

What is the order of names in sorted_df?
medium
A. ['Cara', 'Anna', 'Bob']
B. ['Bob', 'Anna', 'Cara']
C. ['Anna', 'Bob', 'Cara']
D. ['Cara', 'Bob', 'Anna']

Solution

  1. Step 1: Understand sorting by 'score'

    The scores are 88 (Anna), 92 (Bob), and 85 (Cara). Sorting ascending means smallest to largest.
  2. Step 2: Order names by ascending scores

    Sorted scores: 85 (Cara), 88 (Anna), 92 (Bob). So names order is ['Cara', 'Anna', 'Bob'].
  3. Final Answer:

    ['Cara', 'Anna', 'Bob'] -> Option A
  4. Quick Check:

    Ascending sort by score = ['Cara', 'Anna', 'Bob'] [OK]
Hint: Sort ascending means smallest value first [OK]
Common Mistakes:
  • Assuming descending order by default
  • Mixing up names and scores
  • Not using 'by' parameter
4. What is wrong with this code snippet?
df = pd.DataFrame({'A': [3, 1, 2]})
df.sort_values('A', ascending='False')
medium
A. The column name should be passed as a list.
B. The ascending parameter should be a boolean, not a string.
C. sort_values() does not accept the ascending parameter.
D. The DataFrame must be sorted inplace.

Solution

  1. Step 1: Check the ascending parameter type

    The ascending parameter expects a boolean (True or False), but here it is passed as a string 'False'.
  2. Step 2: Validate other options

    Passing column name as string is allowed. sort_values() accepts ascending. Sorting inplace is optional.
  3. Final Answer:

    The ascending parameter should be a boolean, not a string. -> Option B
  4. Quick Check:

    ascending must be True/False boolean [OK]
Hint: Use True/False, not 'True'/'False' for ascending [OK]
Common Mistakes:
  • Passing ascending as string
  • Thinking column name must be list
  • Forcing inplace sorting unnecessarily
5. You have a DataFrame df with columns 'product' and 'price'. You want to sort the products by price descending but keep the original DataFrame unchanged. Which code achieves this?
hard
A. df.sort_values(by='price', ascending=False, inplace=True)
B. df.sort_values('price', inplace=False)
C. df.sort_values(by='price', ascending=True)
D. sorted_df = df.sort_values(by='price', ascending=False)

Solution

  1. Step 1: Understand sorting without changing original

    To keep original DataFrame unchanged, do not use inplace=True. Instead, assign the sorted result to a new variable.
  2. Step 2: Check options for descending order

    sorted_df = df.sort_values(by='price', ascending=False) sorts by 'price' descending and assigns to sorted_df. df.sort_values(by='price', ascending=False, inplace=True) changes original due to inplace=True. df.sort_values(by='price', ascending=True) sorts ascending, not descending. df.sort_values('price', inplace=False) sorts ascending by default and does not assign result.
  3. Final Answer:

    sorted_df = df.sort_values(by='price', ascending=False) -> Option D
  4. Quick Check:

    Assign sorted result without inplace for original unchanged [OK]
Hint: Assign sorted DataFrame to new variable, avoid inplace=True [OK]
Common Mistakes:
  • Using inplace=True and losing original order
  • Sorting ascending instead of descending
  • Not assigning sorted DataFrame to a variable
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