Что вернёт выражение df[df["price"] > 100]?
A
DataFrame со всеми исходными столбцами, но только из строк, где price больше 100B
Series с одним столбцом price, в которой остались только значения больше 100C
DataFrame со всеми столбцами, из которого выкинуты строки, где price равен ровно 100DБулеву маску в виде
Series той же длины, что и df, без выбора каких-либо строкПравильный ответ. Булева индексация применяет маску к
DataFrame и возвращает только подходящие строки со всеми столбцами.Разбор
Внутреннее выражение df["price"] > 100 формирует булеву Series той же длины, что и DataFrame. Когда вы пишете df[маска], pandas оставляет только те строки, где маска равна True, а столбцы возвращает все. Это и есть булева индексация: результатом будет DataFrame с теми же столбцами, что были у df, но с отфильтрованными строками. Возвращается именно DataFrame, а не Series и не сама маска: исходный индекс строк сохраняется, если явно не вызвать reset_index().
Проверь себя · 1/3разбор после ответа
Что вернёт выражение
df[df["price"] > 100]?Ещё вопросы по теме «Pandas и DataFrame»
- В `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"])]`?
- Что верно про два шага: `mask = df["col"] > 0` и затем `df[mask]`?
- В `df` есть столбцы `user_id` и `amount`. Что вернёт выражение `df.groupby("user_id")["amount"].sum()`?
- Все вопросы по «Pandas и DataFrame» →