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

Amask это булева Series длиной как число строк df; df[mask] это исходный DataFrame
Bmask это DataFrame той же формы, что у df; df[mask] это одиночная Series из значений
Cmask это булева Series по строкам df; df[mask] это DataFrame со строками маски True
Dmask это число строк df со значением True; df[mask] это булева Series длиной как df
Правильный ответ. Условие по столбцу даёт булеву Series, а применение маски к DataFrame возвращает строки, где значение True.

Разбор

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

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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