Winter 2024 Quiz 1

← return to practice.dsc10.com


This quiz was administered in-person. It was closed-book and closed-note; students were not allowed to use the DSC 10 Reference Sheet. Students had 20 minutes to work on the quiz.

This quiz covered Lectures 1-4 of the Winter 2024 offering of DSC 10.


Note (groupby / pandas 2.0): Pandas 2.0+ no longer silently drops columns that can’t be aggregated after a groupby, so code written for older pandas may behave differently or raise errors. In these practice materials we use .get() to select the column(s) we want after .groupby(...).mean() (or other aggregations) so that our solutions run on current pandas. On real exams you will not be penalized for omitting .get() when the old behavior would have produced the same answer.


Problem 1

Lecture 2

Select all the true statements below.

Answer: Option 1 and Option 3


Difficulty: ⭐️⭐️

The average score on this problem was 87%.


Problem 2

Lecture 3

Consider the assignment statement below.

pear = [6, 10.1, "pear", 13]

What does the expression np.array(pear) evaluate to?

Answer: array(["6", "10.1", "pear", "13"])


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 50%.


Problem 3

Lecture 3

Suppose x and y are both ints that have been previously defined, with x < y. Now, define:

peach = np.arange(x, y, 2)

Say that the spread of peach is the difference between the largest and smallest values in peach. The spread should be a non-negative integer.


Problem 3.1

Using array methods, write an expression that evaluates to the spread of peach.

Answer: peach.max() - peach.min()


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 62%.


Problem 3.2

Without using any methods or functions, write an expression that evaluates to the spread of peach.
Hint: Use [ ].

Answer: peach[len(peach) - 1] - peach[0] or peach[-1] - peach[0]


Difficulty: ⭐️⭐️⭐️⭐️

The average score on this problem was 36%.


Problem 3.3

Choose the correct way to fill in the blank in this sentence:

The spread of peach is ______ the value of y - x.

Answer: always less than


Difficulty: ⭐️⭐️⭐️⭐️

The average score on this problem was 48%.



Problem 4

Lecture 4

Suppose fruits is a DataFrame of the fruits Ashley bought at the grocery store, where:


Problem 4.1

Fill in the blanks below to add a new column to fruits called "price_per_ounce" that contains the price per ounce of each of the fruits in fruits. There are 16 ounces in a pound.

    fruits = fruits.__(x)__(price_per_ounce = __(y)__ / __(z)__)

Answer (x): assign


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 71%.

Answer (y): fruits.get("price")


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 67%.

Answer (z): (fruits.get("pounds") * 16)


Difficulty: ⭐️⭐️⭐️⭐️

The average score on this problem was 43%.


Problem 4.2

Write a line of code that evaluates to the amount of money, in dollars, that Ashley spent on fruit at the grocery store.

Answer: fruits.get("price").sum() or sum(fruits.get("price"))


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 62%.


Problem 4.3

Fill in the blanks so that the expression below evaluates to the name of the fruit with the highest price per ounce.

    (fruits.sort_values(by = "price_per_ounce", ascending = __(x)__)
           .get(__(y)__).iloc[0])

Answer (x): False


Difficulty: ⭐️⭐️

The average score on this problem was 87%.

Answer (y): "fruit"


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 65%.


Problem 4.4

Assuming that "mango" is one of the fruits Ashley bought, fill in the blanks so that the expression below evaluates to the price per ounce of "mango".

    fruits.__(x)__("fruit").get("price_per_ounce").__(y)__["mango"]

Answer (x): set_index


Difficulty: ⭐️⭐️⭐️⭐️

The average score on this problem was 41%.

Answer (y): loc


Difficulty: ⭐️⭐️

The average score on this problem was 83%.



👋 Feedback: Find an error? Still confused? Have a suggestion? Let us know here.