Что верно про два шага: 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 без циклов и явного перебора строк.

Проверь себя · 1/3разбор после ответа
В чём смысл параметров в pd.merge(df_left, df_right, left_on="sku", right_on="product_sku", how="inner")?
Тренировать Python в Telegram

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