В DataFrame df есть столбцы country, user_id, revenue. Что вернёт выражение df.loc[df["country"] == "RU", ["user_id", "revenue"]]?

ASeries со значениями revenue только для страны RU
BDataFrame со строками, где country == "RU", и только столбцами user_id и revenue
CБулеву маску (тип Series) для столбца country
DDataFrame со всеми строками, но с NaN в revenue для стран не RU
Правильный ответ. .loc позволяет одновременно выбрать строки по условию и нужные столбцы, возвращая DataFrame.

Разбор

В df.loc[строки, столбцы] первый аргумент отвечает за выбор строк, второй — за выбор столбцов. Условие df["country"] == "RU" дает булеву Series, которая фильтрует строки. Список столбцов ["user_id", "revenue"] ограничивает набор колонок, поэтому результатом будет DataFrame, а не Series.

Проверь себя · 1/3разбор после ответа
У вас есть s = df.groupby("user_id").size(). Что нужно сделать, чтобы получить DataFrame с колонками user_id и cnt для дальнейшего .merge()?
Тренировать Python в Telegram

Ещё вопросы по теме «Pandas и DataFrame»