Очистка данных с помощью Python и Pandas
Данные сегодня являются строительными блоками принятия решений. Но представьте себе, что у вас есть группа блоков разных форм и размеров из этой коллекции; трудно построить что-то значимое. Здесь на помощь приходит очистка данных.
В этом руководстве рассказывается, как очистить данные с помощью платформы Python Pandas для лучшего принятия решений. Очистка данных также важна, учитывая, что мы работаем со списком записей о продажах магазина. Мы можем заметить в списке пропущенные числа, странные даты и повторяющиеся элементы без причины. Если мы делаем расчеты или записи на основе этой информации, эти проблемы могут испортить наши расчеты и прогнозы. Очистка данных помогает решить эти проблемы, гарантируя точность и готовность наших данных к использованию.
Очистка данных включает в себя обработку недостающих данных и действия, если некоторые данные отсутствуют, удаление дубликатов, избавление от скопированных данных, исправление типов данных, проверку того, что все находится в правильном формате, а также работу с выбросами или обработку чисел. которые не подходят. Эти ошибки приводят к тому, что данные выглядят одинаково и стандартизируют их внешний вид.
Для начала убедитесь, что у нас установлены Python и Pandas. Мы можем сделать это, введя команды в терминале нашего компьютера или в командной строке. Чтобы реализовать коды, упомянутые в этом руководстве, мы можем использовать Python Pycharm IDE, установленную в нашей системе, или онлайн-платформу Python, которая называется «Google Colab», и установить команды «pip» для установки важных библиотек.
Теперь давайте импортируем Pandas и загрузим наши образцы данных. В этом примере мы используем Google Colab для запуска кодов. Итак, мы сначала импортируем Pandas, введя следующую команду:
! pip установить панды
Импортировать панды как ПД
Импортировать бестолковый как например
Затем мы загружаем набор данных, который хотим отобразить, с помощью метода pd.read(), который принимает путь к файлу в качестве входного параметра.
# Загрузите набор данныхданные '=' пд. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Отображение первых нескольких строк
Распечатать ( данные. голова ( ) )
В следующем примере мы используем данные о продажах в небольшом магазине. Чтобы справиться с недостающими данными, информация иногда отсутствует в наших данных. Мы называем эти недостающие части «NaN» (что означает «не число»). Чтобы найти эти недостающие значения в скрипте Python, мы сначала загружаем набор данных, как мы это делали в предыдущем примере. Затем мы находим все недостающие значения в наборе данных, используя функцию «missing_values = data.isnull().sum()». Эта функция находит все недостающие значения в наборе данных. Затем мы отображаем их с помощью функции print().
! pip установить пандыИмпортировать панды как ПД
Импортировать бестолковый как например
# Загрузите набор данных
данные '=' пд. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Отображение первых нескольких строк
Распечатать ( данные. голова ( ) )
# Проверка пропущенных значений
отсутствующие_значения '=' данные. нулевой ( ) . сумма ( )
# Отображение количества пропущенных значений по столбцу
Распечатать ( отсутствующие_значения )
После того, как мы обнаружим недостающие данные в любой строке, в которой выполняется упомянутый ранее код, мы можем удалить эти строки, поскольку в них мало полезных данных. Мы можем даже угадать эти недостающие значения и заполнить пробелы обоснованными предположениями, оценивая временные данные на основе близлежащих точек.
Теперь мы удаляем дубликаты, являющиеся копиями одного и того же объекта, поскольку они могут затруднить наш анализ. Чтобы найти повторяющиеся значения в наборе данных, мы используем функцию «duulate_rows = data[data.duulated()]». Чтобы удалить эти повторяющиеся значения, мы вызываем функцию data.drop_duulates(). Мы можем найти и удалить их, используя следующий код:
! pip установить пандыИмпортировать панды как ПД
Импортировать бестолковый как например
# Загрузите набор данных
данные '=' пд. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Отображение первых нескольких строк
Распечатать ( данные. голова ( ) )
#Проверяем наличие повторяющихся строк
дубликаты_строк '=' данные [ данные. дублированный ( ) ]
# Удаляем дубликаты
данные '=' данные. drop_duplications ( )
# Отображение первых нескольких строк после удаления дубликатов
Распечатать ( данные. голова ( ) )
Типы данных определяют, какие данные могут быть сохранены для исправления типов данных. Очень важно иметь правильный тип для каждого типа данных. Например, даты должны иметь тип данных date time, а числа должны иметь тип данных, такой как int, float и т. д. Чтобы проверить типы данных наших данных, мы используем функцию «data.dtypes». Эту функцию можно использовать следующим образом:
! pip установить пандыИмпортировать панды как ПД
Импортировать бестолковый как например
# Загрузите набор данных
данные '=' пд. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Отображение первых нескольких строк
Распечатать ( данные. голова ( ) )
# Проверьте типы данных каждого столбца
типы данных '=' данные. типы данных
# Отображение типов данных
Распечатать ( типы данных )
Если мы обнаружим какие-либо проблемы, мы можем изменить тип данных с помощью Pandas. Например, мы можем преобразовать даты в формат даты. Атрибут «dtypes» DataFrame предоставляет информацию о типах данных каждого столбца. Если мы обнаружим, что типы данных не совпадают, мы можем использовать функцию astype() Pandas для преобразования столбцов в нужные типы.
После типов данных мы иногда сталкиваемся с выбросами, которые представляют собой значения, сильно отличающиеся от других. Они могут испортить наши расчеты. Чтобы справиться с выбросами, мы определяем функцию, которая использует функцию z-score «np.abs(stats.zscore(data))», которая сравнивает значения, существующие в наших данных, с пороговым значением. Любое значение, отличное от диапазона этого порога, считается выбросом. . Давайте посмотрим, как найти и обработать выбросы:
! pip установить пандыИмпортировать панды как ПД
Импортировать бестолковый как например
# Загрузите набор данных
данные '=' пд. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Отображение первых нескольких строк
Распечатать ( данные. голова ( ) )
от острый Импортировать статистика
защита обнаружить_выбросы ( данные ) :
z_scores '=' например пресс ( статистика. zscore ( данные ) )
возвращаться например где ( z_scores > 3 )
# Обнаружение и обработка выбросов в столбце «Продажи»
выбросы '=' обнаружить_выбросы ( данные [ 'долгота' ] )
данные [ 'долгота' ] . место [ выбросы ] '=' данные [ 'долгота' ] . медиана ( )
# Обнаружение и обработка выбросов в столбце «Продано единиц»
выбросы '=' обнаружить_выбросы ( данные [ 'широта' ] )
данные [ 'широта' ] . место [ выбросы ] '=' данные [ 'широта' ] . медиана ( )
# Отображение первых нескольких строк после обработки выбросов
Распечатать ( данные. голова ( ) )
Мы используем простой метод для поиска и исправления выбросов в предыдущем коде. Он предполагает замену крайних значений средним значением данных. Этот код использует метод Z-оценки для обнаружения выбросов в столбцах «долгота» и «широта» нашего набора данных. Выбросы заменяются медианными значениями соответствующих столбцов.
Чтобы данные выглядели одинаково, иногда данные могут выглядеть по-разному, даже если это означает одно и то же. Например, даты могут быть записаны в различных форматах. Стандартизация предполагает обеспечение единообразного формата и представления данных. Это может включать форматирование дат, преобразование текста в нижний регистр или нормализацию числовых значений. Давайте стандартизируем столбец «Дата» в нашем наборе данных и убедимся, что наши данные выглядят одинаково:
Импортировать панды как ПДИмпортировать бестолковый как например # Импортируем число
# Загрузите данные
данные '=' пд. read_csv ( 'данные_продаж.csv' )
# Сделайте так, чтобы столбец «Дата» выглядел единообразным
данные [ 'Дата' ] '=' пд. to_datetime ( данные [ 'Дата' ] )
# Посмотрите, как это выглядит сейчас
Распечатать ( данные. голова ( ) )
В этом примере мы стандартизируем формат даты в нашем наборе данных в соответствии с форматом даты и времени Python, используя функцию «pd.to_datetime(data['Date'])». Преобразовав столбец «Дата» в тот же формат, мы упрощаем работу с этими данными. В выходных данных отображаются первые несколько строк набора данных со стандартным столбцом «Дата».
Заключение
В ходе очистки данных с помощью Python и Pandas мы узнали, как улучшить наши данные для анализа. Мы начали с понимания того, почему очистка данных так важна. Это помогает нам принимать более правильные решения. Мы рассмотрели, как бороться с отсутствующими данными, удалять дубликаты, исправлять типы данных, обрабатывать выбросы и придавать нашим данным одинаковый вид. Благодаря этим навыкам мы лучше подготовлены к тому, чтобы превратить беспорядочные данные во что-то, чему мы можем доверять и использовать для обнаружения важной информации. Очистка данных — это непрерывный процесс, такой же, как поддержание порядка в нашей комнате, и он делает наш анализ данных более успешным.