Как удалить строки с 0 в Pandas? 🧹

Вот как удалить строки с 0 в pandas:


import pandas as pd

# Создаем DataFrame с данными
data = {'Имя': ['Анна', 'Мария', 'Иван', 'Петр'],
        'Возраст': [25, 30, 0, 28]}
df = pd.DataFrame(data)

# Удаляем строки с нулевым возрастом
df = df[df['Возраст'] != 0]

print(df)

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

Привет! В этой статье мы поговорим о том, как удалить строки с нулевыми значениями в библиотеке Pandas. Когда работаем с данными, часто бывает необходимость в очистке и преобразовании данных, и удаление строк с нулевыми значениями является одной из таких задач.

Использование метода dropna

Для удаления строк с нулевыми значениями в Pandas мы можем воспользоваться методом dropna(). Этот метод удаляет все строки, содержащие хотя бы одно нулевое значение.

        
import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван', 'Елена'],
        'Возраст': [30, None, 25, 28],
        'Город': ['Москва', 'Санкт-Петербург', None, 'Москва']}
df = pd.DataFrame(data)

# Удаляем строки с нулевыми значениями
df_cleaned = df.dropna()

print(df_cleaned)
        
    

В приведенном примере у нас есть DataFrame с тремя столбцами: "Имя", "Возраст" и "Город". В одной из строк присутствуют нулевые значения. Мы используем метод dropna() для удаления всех строк с нулевыми значениями и сохраняем результат в переменную df_cleaned. Затем мы выводим на экран очищенный DataFrame.

Использование параметра subset

Метод dropna() также позволяет указать столбцы, в которых необходимо искать нулевые значения с помощью параметра subset. Это может быть полезно, если мы хотим удалить строки только на основе определенных столбцов.

        
import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван', 'Елена'],
        'Возраст': [30, None, 25, 28],
        'Город': ['Москва', 'Санкт-Петербург', None, 'Москва']}
df = pd.DataFrame(data)

# Удаляем строки с нулевыми значениями только в столбце "Возраст"
df_cleaned = df.dropna(subset=['Возраст'])

print(df_cleaned)
        
    

В этом примере мы используем параметр subset и указываем, что нам нужно удалить строки только на основе столбца "Возраст". Как результат, будут удалены только строки с нулевыми значениями в столбце "Возраст", и остальные строки останутся без изменений.

Использование параметра inplace

По умолчанию, метод dropna() создает новый DataFrame, не изменяя исходный. Если мы хотим изменить исходный DataFrame без создания нового, мы можем использовать параметр inplace=True.

        
import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван', 'Елена'],
        'Возраст': [30, None, 25, 28],
        'Город': ['Москва', 'Санкт-Петербург', None, 'Москва']}
df = pd.DataFrame(data)

# Удаляем строки с нулевыми значениями в исходном DataFrame
df.dropna(inplace=True)

print(df)
        
    

В этом примере мы используем параметр inplace=True, чтобы изменить исходный DataFrame. Результат будет выведен на экран.

Использование метода query

Если у нас есть большой DataFrame или мы хотим выполнить более сложные условия удаления строк, мы можем воспользоваться методом query(). Этот метод позволяет указать наше собственное условие для удаления строк.

        
import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван', 'Елена'],
        'Возраст': [30, None, 25, 28],
        'Город': ['Москва', 'Санкт-Петербург', None, 'Москва']}
df = pd.DataFrame(data)

# Удаляем строки с нулевыми значениями в столбце "Возраст" с использованием метода query
df_cleaned = df.query('Возраст != None')

print(df_cleaned)
        
    

В этом примере мы используем метод query() и указываем условие "Возраст != None" для удаления строк с нулевыми значениями в столбце "Возраст". Результат будет содержать только строки, удовлетворяющие нашему условию.

Итог

В этой статье мы рассмотрели различные способы удаления строк с нулевыми значениями в библиотеке Pandas. Мы использовали методы dropna(), query() и познакомились с параметрами subset и inplace.

Видео по теме

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

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

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

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

Как удалить строки с 0 в Pandas? 🧹

Как посчитать количество «панд» с помощью функции «where»?