Базовая очистка данных с помощью pandas

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

Процесс очистки данных примерно состоит из следующих шагов:

  • Удаление нерелевантных столбцов.

  • Переименование имен столбцов в значимые имена.

  • Обеспечение согласованности значений данных.

  • Внесение пропущенных значений.

Давайте посмотрим, как этот процесс может быть реализован на фреймах данных pandas в Python.

1. Удаление ненужных столбцов

Метод drop класса DataFrame используется для удаления столбцов из фрейма данных. См. Синтаксис ниже:

  df.drop ([column1, column2, ...], inplace = True, axis = 1)  

2. Переименование столбцов в осмысленные имена.

Взгляните на фрейм данных ниже:

Это очень хороший способ переименовать имена столбцов (например, эти) в те, которые можно легко вспомнить. Взгляните на приведенный ниже код, чтобы узнать, как изменить имена столбцов фрейма данных df .

  columns = ["Cloud Cover  "," События "," Макс. Точка росы "," Макс. Скорость порыва "," Макс. Влажность "," Макс. Давление на уровне моря "] df.columns = columns  

3. Обеспечение согласованности значений данных.

Взгляните на столбец ниже:

Текстура
суглинок
lOAm
lom
looam

Предполагается, что значения во всех четырех строках должны быть одинаковыми (например, «суглинок»). Однако существуют разные версии этого единственного значения. Эти вариации значений данных должны быть согласованы. Самый эффективный способ сделать это — использовать регулярное выражение. Взгляните на приведенный ниже пример, в котором все варианты слова заменяются на «суглинок».

  df ["Texture"] = df ["Texture"]. Replace (to_replace  = "^ l. *", value = 'loam', regex = True)  

4. Ввод пропущенных значений

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

  df.isnull (  ) .sum ()  

Существуют различные способы импутации пропущенных значений столбца, но замена нулевых значений 50-м процентилем столбца является наиболее широко используемым методом. См. Код ниже:

  df.loc [df ["столбец"]. Isnull (), "столбец"] = df ["столбец"]. Квантиль (0,5)   

В других подходах используются методы backfill и forward fill для вменения пропущенных значений. mode или среднее значение столбца также можно использовать для замены пустых ячеек.

Оцените статью
nanomode.ru
Добавить комментарий