Объединение фильтров с AND и OR
Безопасное объединение нескольких условий
«Объединение фильтров с AND и OR» — бесплатный урок Data Science Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Data Science Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Data Science Academy содержит 4 уроков всего.
Одного условия редко достаточно
В реальных задачах условия объединяются: взрослые в Париже или заказы, которые задержаны и имеют большой размер. Вам нужно аккуратно объединять фильтры. 🧩
Используйте амперсанд для AND
Чтобы потребовать выполнения обоих условий, соедините две маски с помощью амперсанда. Он работает поэлементно для всех строк.
df[(df["age"] > 30) & (df["city"] == "Paris")]Используйте вертикальную черту для OR
Чтобы принять любое из условий, соедините маски с помощью вертикальной черты. Строка подходит, если хотя бы одна сторона имеет значение True.
df[(df["city"] == "Paris") | (df["city"] == "Lyon")]Заключайте каждое условие в скобки
Всегда используйте скобки вокруг каждого условия. Без них Python вычислит операторы в неправильном порядке и вызовет ошибку.
df[df["age"] > 30 & df["score"] > 80] # breaksПочему не and и or?
Обычные слова and и or работают с отдельными значениями True/False, а не со всей последовательностью. Для масок строк необходимо использовать символы.
# wrong: df[(df["age"] > 30) and (...)]
# right: use & insteadИнверсия с помощью тильды
Тильда инвертирует маску, превращая True в False. Это удобный способ сказать: условие не должно выполняться.
df[~(df["city"] == "Paris")] # everyone not in ParisОсторожно смешивайте AND и OR
Операторы можно сочетать, но скобки определяют группировку. Явно задавайте замысел, чтобы логика читалась именно так, как Вы её задумали.
df[(df["age"] > 30) & ((c == "Paris") | (c == "Lyon"))]Три и более условий
Объединение большего числа масок работает так же. Для удобства чтения создавайте их в отдельных строках, а затем объединяйте именованные маски.
old = df["age"] > 30
top = df["score"] > 80
df[old & top]AND сужает, OR расширяет
Запомните простую модель: AND уменьшает результат, оставляя меньше строк, а OR увеличивает его, оставляя больше строк.
Объединение условий из разных столбцов
Ваши условия могут одновременно обращаться к разным столбцам, позволяя выразить сложные запросы в одном выражении.
df[(df["age"] > 30) & (df["active"] == True)]Сохраняйте сложные маски
Если логика становится сложной, дайте объединённой маске понятное имя. В будущем Вы поблагодарите себя за такую читаемую переменную.
vip = (df["age"] > 30) & (df["score"] > 80)
df[vip]Быстрая проверка
Выберите выражение, которое правильно выполняет фильтрацию.
Итог: объединение фильтров
Используйте амперсанд для AND, вертикальную черту для OR, тильду для инверсии и всегда заключайте каждое условие в скобки. Сложные запросы — в одной понятной строке. ✅
Часто задаваемые вопросы
Урок «Объединение фильтров с AND и OR» бесплатный?
Да — полный текст урока «Объединение фильтров с AND и OR» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Data Science Academy, подпишись на CoddyKit PRO. Курс Data Science Academy содержит 4 уроков всего.
Чему я научусь в уроке «Объединение фильтров с AND и OR»?
Безопасное объединение нескольких условий Ты практикуешь Data Science Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Data Science Academy?
Предыдущий опыт не требуется. Data Science Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Объединение фильтров с AND и OR»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Data Science Academy?
Да. Каждый урок Data Science Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Выбор столбцов по имени
- Фильтрация строк по условиям
- Объединение фильтров с AND и OR
- query и isin для точных фильтров