Что верно про два шага: mask = df["col"] > 0 и затем df[mask]?
A
mask — это Series из True/False, а df[mask] — это отфильтрованный DataFrameB
mask — это DataFrame, а df[mask] — это SeriesCОба выражения возвращают одно и то же:
DataFrameDОба выражения возвращают одно и то же:
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()?Ещё вопросы по теме «Pandas и DataFrame»
- Что вернёт выражение `df[df["price"] > 100]`?
- В `DataFrame` `df` есть столбцы `country`, `user_id`, `revenue`. Что вернёт выражение `df.loc[df["country"] == "RU", ["user_id", "revenue"]]`?
- В `df` есть столбец `age`. Какие значения `age` попадут в результат `df[(df["age"] >= 18) & (df["age"] <= 25)]`?
- Что выберет фильтр `df[~df["status"].isin(["cancelled", "returned"])]`?
- В `df` есть столбцы `user_id` и `amount`. Что вернёт выражение `df.groupby("user_id")["amount"].sum()`?
- Все вопросы по «Pandas и DataFrame» →