Как удалить строки в pandas по условию? 🗑️

Чтобы удалить строки в Pandas по условию, вы можете использовать метод drop в сочетании с логическими операторами. Ниже приведен пример кода:

import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Анна', 'Борис', 'Виктор', 'Галина'],
        'Возраст': [25, 30, 35, 40],
        'Город': ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Екатеринбург']}

df = pd.DataFrame(data)

# Удаляем строки, где возраст больше 30
df.drop(df[df['Возраст'] > 30].index, inplace=True)

print(df)

В результате выполнения этого кода будут удалены строки, где возраст больше 30. Измененный DataFrame будет выведен на экран.

Детальный ответ

Как удалить строки в pandas по условию

Если вам нужно удалить строки из таблицы данных в pandas на основе определенного условия, вы можете использовать метод drop() или метод loc[].

Использование метода drop()

Метод drop() позволяет удалить строки, соответствующие определенному условию. Для этого вы должны указать индексы строк, которые нужно удалить.

Вот пример кода, демонстрирующий, как использовать метод drop() для удаления строк:


import pandas as pd

# Создание DataFrame
data = {'Name': ['John', 'Emma', 'Adam', 'Olivia'],
        'Age': [25, 32, 28, 35],
        'City': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)

# Удаление строк, где возраст больше 30
df.drop(df[df['Age'] > 30].index, inplace=True)

print(df)

В этом примере мы создаем DataFrame с данными о людях, включая их имена, возраст и город проживания. Затем мы использовали метод drop() для удаления строк, где возраст больше 30. Результат будет содержать только строки, где возраст меньше или равен 30.

Использование метода loc[]

Другой способ удаления строк по условию - использование метода loc[]. Метод loc[] позволяет выбирать строки на основе условий и операторов сравнения.

Вот пример кода, использующего метод loc[] для удаления строк:


import pandas as pd

# Создание DataFrame
data = {'Name': ['John', 'Emma', 'Adam', 'Olivia'],
        'Age': [25, 32, 28, 35],
        'City': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)

# Удаление строк, где возраст больше 30
df = df.loc[df['Age'] <= 30]

print(df)

В этом примере мы используем метод loc[] для выбора строк, где возраст меньше или равен 30. Результатом будет новый DataFrame, содержащий только строки, соответствующие этому условию.

Выбор нескольких условий

Если вам нужно удалить строки на основе нескольких условий, вы можете использовать операторы логического И (или) и логического ИЛИ (или) для комбинирования условий. Например, чтобы удалить строки, где возраст больше 30 и город проживания не Лондон, вы можете написать следующий код:


import pandas as pd

# Создание DataFrame
data = {'Name': ['John', 'Emma', 'Adam', 'Olivia'],
        'Age': [25, 32, 28, 35],
        'City': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)

# Удаление строк, где возраст больше 30 и город проживания не Лондон
df = df.loc[(df['Age'] <= 30) & (df['City'] != 'London')]

print(df)

В этом примере мы используем операторы логического И (или) и логического ИЛИ (или), чтобы объединить условия удаления строк. Результатом будет новый DataFrame, содержащий только строки, соответствующие этому комбинированному условию.

Таким образом, вы можете использовать методы drop() и loc[] для удаления строк в pandas на основе условий. Вам просто нужно указать условия и операторы сравнения, которые позволяют выбрать нужные строки для удаления. Удачи в работе с pandas!

Видео по теме

Датафреймы pandas. Удаление строк

Pandas Базовый №4. Операции со столбцами DataFrame

Pandas Базовый №5. Операции со строками

Похожие статьи:

Как удалить строки в pandas по условию? 🗑️