Очистка данных, несомненно, занимает массу времени в науке о данных, и недостающие данные — одна из проблем, с которыми вы часто сталкиваетесь. pandas — это ценный инструмент для обработки данных Python, который, среди прочего, помогает вам исправить отсутствующие значения в вашем наборе данных.

Вы можете исправить отсутствующие данные, удалив или заполнив их другими значениями. В этой статье мы объясним и рассмотрим различные способы заполнения недостающих данных с помощью pandas.

1. Используйте метод fillna():

То заполнить () Функция выполняет итерацию по вашему набору данных и заполняет все нулевые строки указанным значением. Он принимает некоторые необязательные аргументы — обратите внимание на следующие:

Ценность: это значение, которое вы хотите вставить в отсутствующие строки.

Метод: позволяет заполнить пропущенные значения вперед или назад. Он принимает 'заполнить' или 'наполнить' параметр.

На месте: принимает условный оператор. Если True, он постоянно изменяет DataFrame. В противном случае это не так.

instagram viewer

Прежде чем мы начнем, убедитесь, что вы установили pandas в свой Виртуальная среда Python с использованием точка в вашем терминале:

пип установить панды

Далее внутри скрипта Python мы создадим учебный DataFrame и вставим нулевые значения (Нэн) на несколько строк:

импортировать панд
дф = панды. DataFrame({'A': [0, 3, Нет, 10, 3, Нет],
«В»: [Нет, Нет, 7,13, 13,82, 7, 7],
'C': [Нет, "Панды", "Нет", "Панды", "Питон", "JavaScript"]})

Связанный:Как импортировать данные Excel в скрипты Python с помощью Pandas

Теперь проверьте, как вы можете заполнить эти пропущенные значения, используя различные доступные методы в pandas.

Этот метод включает замену отсутствующих значений вычисленными средними значениями. Заполнение отсутствующих данных средним или медианным значением применимо, когда задействованные столбцы имеют целые или плавающие типы данных.

Вы также можете заполнить отсутствующие данные значением режима, которое является наиболее часто встречающимся значением. Это также применимо к целым числам или числам с плавающей запятой. Но удобнее, когда рассматриваемые столбцы содержат строки.

Вот как вставить среднее значение и медиану в отсутствующие строки в кадре данных, который вы создали ранее:

#Чтобы вставить среднее значение каждого столбца в недостающие строки:
df.fillna (df.mean().round (1), inplace=True)
#Для медианы:
df.fillna (df.median().round (1), inplace=True)
печать (дф)

Вставка модального значения, как вы сделали для среднего и медианы выше, не захватывает весь DataFrame. Но вы можете вместо этого вставить его в конкретный столбец, скажем, столбец С:

df['C'].fillna (df['C'].mode()[0], inplace=True)

С учетом сказанного по-прежнему можно вставить модальное значение каждого столбца в отсутствующие строки одновременно. используя цикл for:

для я в df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
печать (дф)

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

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
на месте = Истина)
печать (дф)

Заполните пустые строки значениями, используя ffill

Это включает в себя указание метода заполнения внутри как заполнить () функция. Этот метод заполняет каждую отсутствующую строку значением ближайшей строки над ней.

Вы также можете назвать это предварительным заполнением:

df.fillna (метод = 'ffill', inplace = True)

Заполните пропущенные строки значениями, используя bfill

Здесь вы замените заполнить метод, упомянутый выше, с bзаполнить. Он заполняет каждую отсутствующую строку в DataFrame ближайшим значением под ней.

Это называется обратным заполнением:

df.fillna (метод = 'bfill', inplace = True)

2. Метод замены()

Вы можете заменить Нэн значения в определенном столбце со средним значением, медианой, модой или любым другим значением.

Связанный:Команды pandas для управления кадрами данных

Посмотрите, как это работает, заменив пустые строки в именованном столбце его средним значением, медианой или модой:

импортировать панд
импортировать numpy # для этого требуется, чтобы вы ранее установили numpy
# Замените нулевые значения средним значением:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
# Замените столбец A медианой:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Используйте модальное значение для столбца C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
печать (дф)

3. Заполните недостающие данные интерполяцией ()

То интерполировать() Функция использует существующие значения в DataFrame для оценки отсутствующих строк.

Запустите следующий код, чтобы увидеть, как это работает:

# Интерполировать в обратном направлении по столбцу:
df.interpolate (метод = «линейный», limit_direction = «назад», inplace = True)
#Интерполировать в прямом порядке по столбцу:
df.interpolate (метод = «линейный», limit_direction = «вперед», inplace = True)

Внимательно обработайте пропущенные строки

Хотя мы рассмотрели только заполнение отсутствующих данных значениями по умолчанию, такими как средние значения, мода и другие методы, существуют и другие методы исправления отсутствующих значений. Специалисты по данным, например, иногда удаляют эти недостающие строки, в зависимости от случая.

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

Как рисовать графики в Jupyter Notebook

Отобразите свои данные с помощью графиков Jupyter Notebook.

Читать дальше

доляТвитнутьЭлектронное письмо
Похожие темы
  • Программирование
  • Питон
  • Программирование
  • база данных
Об авторе
Идову Омисола (опубликовано 125 статей)

Idou увлечен всеми умными технологиями и производительностью. В свободное время он играет с программированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отрываться от рутины. Его страсть показывать людям, как работают современные технологии, побуждает его писать больше.

Другие работы Идову Омисолы

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться