Pandas как удалить по условию
4 года назад
Arthur Cheremisin
Ответы
Для удаления строк по определенному условию в pandas можно использовать метод drop с параметром axis=0, который удаляет строки, и передать в качестве условия булеву маску или индекс, указывающий строки, которые нужно удалить.
Например, если у нас есть DataFrame df и мы хотим удалить строки, где значение столбца column_name равно определенному значению value, то мы можем сделать это следующим образом:
Это удалит все строки, где значение столбца column_name равно value.
Если нужно удалить строки, которые удовлетворяют нескольким условиям, то можно использовать логические операции & (и) и | (или) для комбинирования условий. Например, чтобы удалить строки, где значение столбца column1 равно value1 и значение столбца column2 равно value2, можно написать так:
2 года назад
Elena Gromova
Строки по условию в pandas удаляют фильтрацией: оставляют те, что условию не соответствуют. Знак ~ инвертирует условие:
То же самое без ~ — сразу записать условие для строк, которые остаются: df[df["age"] >= 18].
Несколько условий
Условия объединяют через & (и) и | (или), каждое — в скобках:
Обычные and и or с таблицами не работают — будет ValueError: The truth value of a Series is ambiguous.
Через drop()
Удалить по списку значений
Удалить строки с пропусками
Через query()
После удаления индексы остаются прежними, с пропусками. Пронумеровать заново: df = df.reset_index(drop=True).
Работу с таблицами в pandas разбирают в курсе «Python для анализа данных».
18 дней назад
Никита Вихров






