РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pypdSpQrWh 8 of 83 menu
◀ ▶

Замена по условию в Pandas

Если нужно не убрать строки, а пометить лишние ячейки, подойдёт метод where. Он проверяет условие для каждой строки: где оно истинно, значения остаются, в остальных ячейках строки появляется пропуск или заданная замена. Число строк в таблице не меняется.

Возьмём таблицу товаров и оставим данные только там, где цена выше 20. В остальных строках метод where поставит пропуск:

import pandas as pd data = { 'item': ['Pen', 'Book', 'Cup', 'Bag'], 'price': [10, 25, 15, 40], } shop = pd.DataFrame(data) check = shop['price'] > 20 changed = shop.where(check) print(changed) # выведет item price # 0 NaN NaN # 1 Book 25.0 # 2 NaN NaN # 3 Bag 40.0

Вместо пропуска можно передать число для всех ячеек, где условие ложно. Тогда в тех же строках оба столбца станут нулями:

import pandas as pd data = { 'item': ['Pen', 'Book', 'Cup', 'Bag'], 'price': [10, 25, 15, 40], } shop = pd.DataFrame(data) check = shop['price'] > 20 changed = shop.where(check, 0) print(changed) # выведет item price # 0 0 0 # 1 Book 25 # 2 0 0 # 3 Bag 40

Соберите таблицу команд со столбцами team и points: Red с 40, Blue с 55, Green с 48. Получите таблицу того же размера, где видны только строки с очками больше 50, а в остальных ячейках пропуск.

Создайте таблицу с оценками 3, 5, 4 в столбце mark и именами в столбце name. Выведите вариант, где при оценке ниже 4 в обоих столбцах стоит 0.

Из таблицы с городами и температурой оставьте числа только там, где температура не ниже 15, а в прочих ячейках поставьте пропуск, и выведите результат.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить