Что вернёт выражение df[df["price"] > 100]?

ADataFrame со всеми исходными столбцами, но только из строк, где price больше 100
BSeries с одним столбцом price, в которой остались только значения больше 100
CDataFrame со всеми столбцами, из которого выкинуты строки, где price равен ровно 100
DБулеву маску в виде Series той же длины, что и df, без выбора каких-либо строк
Правильный ответ. Булева индексация применяет маску к DataFrame и возвращает только подходящие строки со всеми столбцами.

Разбор

Внутреннее выражение df["price"] > 100 формирует булеву Series той же длины, что и DataFrame. Когда вы пишете df[маска], pandas оставляет только те строки, где маска равна True, а столбцы возвращает все. Это и есть булева индексация: результатом будет DataFrame с теми же столбцами, что были у df, но с отфильтрованными строками. Возвращается именно DataFrame, а не Series и не сама маска: исходный индекс строк сохраняется, если явно не вызвать reset_index().

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

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

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

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

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