Что верно про два шага: mask = df["col"] > 0 и затем df[mask]?

Amask — это Series из True/False, а df[mask] — это отфильтрованный DataFrame
Bmask — это DataFrame, а df[mask] — это Series
CОба выражения возвращают одно и то же: DataFrame
DОба выражения возвращают одно и то же: Series
Правильный ответ. Условие по столбцу дает булеву Series, а применение маски к DataFrame возвращает строки.

Разбор

Выражение df["col"] > 0 сравнивает значения одного столбца и возвращает булеву Series (один элемент на строку). Когда эту Series используют как индексатор df[mask], pandas выбирает строки, где маска True. Так обычно строится фильтрация данных в DataFrame без циклов.

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

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