Обработка отсутствующих данных в Python с использованием метода интерполяции

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

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

Если мы посмотрим на наши исходные данные здесь ниже, которые представлены на верхнем графике, мы увидим, что есть много пробелов или отсутствующих данных, которые мы не можем изобразить, потому что там ничего нет. Но на нижнем графике мы видим, что сделали некоторую оценку, чтобы выяснить, как могут выглядеть эти данные. Фактические данные представлены голубым цветом, а интерполированные данные — темно-синим.

Обработка отсутствующих данных в Python с использованием метода интерполяции

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

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

Обработка отсутствующих данных в Python с использованием метода интерполяции

Итак, давайте перейдем к блокноту Jupyter и перенесем это.

Оглавление

Как использовать интерполяцию при обработке отсутствующих данных в Python

Вы можете использовать редактор сценариев, чтобы написать все, но это проще. Вы получите больше отзывов в блокноте Jupyter. Итак, давайте документировать то, что мы делаем. Когда мы скопируем и вставим это в наш редактор сценариев Python, он будет очень чистым и ясным.

Давайте импортируем нужные нам библиотеки, и мы собираемся импортировать Pandas и сохранить их как переменную PD. Мы собираемся импортировать Numpy и сохранить его как переменную NP. Pandas — это библиотека для манипулирования данными, а Numpy также позволяет нам манипулировать данными и дает нам некоторую линейную алгебру.

Мы хотим ввести наш набор данных и сохраним его как переменную df . И мы собираемся просто использовать переменную Pandas ( pd ) и использовать функцию read.csv . Затем мы собираемся скопировать и вставить этот файл на наш компьютер. Мой находится в моем рабочем каталоге, поэтому все, что мне нужно сделать, это написать machine.csv и заключить его в круглые скобки.

Обработка отсутствующих данных в Python с использованием метода интерполяции

И давайте посмотрим на наш набор данных, просто используя переменную df. Вы можете видеть, что это происходит с 1 числа 2022 года вплоть до 25 числа. Это последовательные дни вплоть до 15-го числа, а затем 19-го числа отсутствуют четыре дня, затем 22-го числа отсутствуют три дня, а 25-го числа отсутствуют два дня.

Пропущенные дни не являются недостающими данными. Это просто не данные в нашем наборе данных. Мы собираемся иметь дело с отсутствующими данными, которые, как вы видите, представлены с этими значениями NaN или без значений.

Теперь, когда у нас есть набор данных, давайте воспользуемся различными типами интерпретации и сохраним их как разные столбцы. Мы видим, что у нас есть object , который представлен текстом, а также у нас есть float .

Обработка отсутствующих данных в Python с использованием метода интерполяции

Я собираюсь изолировать столбец «Дата» , используя скобки. Затем я собираюсь использовать equals, чтобы присвоить это. Я собираюсь использовать переменную pd , а потом просто использую функцию to_datetime. Затем я закрываю эту функцию скобками и добавляю в столбец «Дата».

Обработка отсутствующих данных в Python с использованием метода интерполяции

Мы видим, что теперь у нас есть дата как правильный тип данных.

Обработка отсутствующих данных в Python с использованием метода интерполяции

Здесь у нас есть индекс, который обозначен номерами от 1 до 18. Когда мы делаем Linear, он будет использовать эти числа для создания линейной связи между существующими точками данных. Но мы также хотим иметь возможность использовать взвешенную по времени интерполяцию, которая анализирует время и дает нам результаты, основанные на фактических днях. Мы хотим установить столбец Date в качестве индекса, чтобы мы могли его использовать.

Я собираюсь использовать свою переменную фрейма данных (df) и выполнить set_index. Нам нужно передать параметр с именем inplace , чтобы убедиться, что он передается постоянно. Итак, я собираюсь использовать inplace equals true, а затем нажму Shift и Enter. И при этом вы можете видеть, что числовой индекс исчез, и у нас есть индекс даты и времени.

Обработка отсутствующих данных в Python с использованием метода интерполяции

Теперь мы можем начать создавать те столбцы, которые нам нужны. Давайте построим столбец, в котором мы интерполируем ближайшую точку данных, которая заполнит эти пропущенные значения ближайшим значением. Мы хотим создать столбец с именем users_nearest и назначить его столбцу Users .

Мы хотим создать столбец с именем user_nearest и назначить его пользовательскому столбцу. И теперь, когда у нас изолирован этот столбец, мы можем использовать функцию интерполяции , и мы можем нажать Shift-Tab, чтобы увидеть, какие параметры принимает эта функция. Существует множество различных типов методов.

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

Обработка отсутствующих данных в Python с использованием метода интерполяции

Теперь мы собираемся передать метод, который нам нужен, и мы собираемся использовать метод ближайшей интерполяции. Все, что нам нужно сделать, это запустить это, и вы увидите, что столбец создан. Если мы посмотрим на эту конкретную строку, мы увидим, что это пропущенное значение. И вы можете видеть, что оно было интерполировано там, где было взято ближайшее значение и добавлено здесь. Как видите, у нас больше нет пропущенных значений для этой конкретной строки.

Обработка отсутствующих данных в Python с использованием метода интерполяции

Теперь давайте скопируем это дважды и изменим имена этих столбцов на user_linear и user_time . Мы также изменим методы, чтобы они соответствовали нашим заголовкам. Мы можем сдвигать и вводить, и вы можете видеть, что мы создали три столбца на основе различных типов методов интерполяции.

Обработка отсутствующих данных в Python с использованием метода интерполяции

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

Итак, мы просто создадим новый столбец с именем df , а затем назовем его флагом. Мы собираемся присвоить это этому знаку равенства. Затем мы собираемся исп��льзовать np , нашу переменную Numpy. Затем мы собираемся использовать функцию where , которая является условной функцией. Мы устанавливаем условие, а затем получаем пример для истинного и ложного. Мы используем двойное равенство, которое равно в Python. Когда это правда, мы хотим сказать «Отсутствующие данные» . Другим вариантом будет Data .

Обработка отсутствующих данных в Python с использованием метода интерполяции

Мы можем использовать этот флаг в нашем визуальном элементе. Как только мы окажемся в вашей записной книжке, перейдите к преобразованию и нажмите «Запустить скрипт Python». Теперь есть пара разных шагов. Нам нужно, чтобы это работало в среде LuckyTemplates .

У нас есть все наши коды, и нам нужно добавить еще несколько шагов. Во-первых, когда мы имеем дело с датой и временем, нам нужно добавить параметр ошибки, который говорит, что если у нас есть какие-либо ошибки, вы можете принудительно или попытаться изменить их. Итак, я собираюсь поставить здесь errors equal , а затем принудить скобками . Далее нам нужно переназначить переменную набора данных как df.

Обработка отсутствующих данных в Python с использованием метода интерполяции

Когда мы нажмем OK, мы получим еще одну ошибку, и это то, что нам нужно сделать, чтобы исправить это. Если мы пройдемся по нашим шагам, нам нужно не форматировать нашу дату. Мы позволим Python работать с датами, потому что даты уникальны для каждой платформы. Первое, что нам нужно сделать, это избавиться от Changed Type .

Обработка отсутствующих данных в Python с использованием метода интерполяции

У нас нет столбца Date, потому что дата является индексом. Итак, мы возвращаемся к нашему скрипту Python, а затем просто сбрасываем наш индекс df.reset_index . Мы говорим, что хотим сбросить его на обход столбца Date в этой скобке, а затем мы хотим сделать inplace = true .

Обработка отсутствующих данных в Python с использованием метода интерполяции

И теперь у нас есть дата, и все наши другие типы данных завершены.

Обработка отсутствующих данных в Python с использованием метода интерполяции

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

Обработка отсутствующих данных в Python с использованием метода интерполяции


Курсы валют в LuckyTemplates: обработка отсутствующих данных
Сценарии Python в отчетах о данных LuckyTemplates
Как загрузить примеры наборов данных в Python

Заключение

В этом руководстве вы узнали о трех методах интерполяции при обработке отсутствующих данных в Python . Мы обсудили методы линейной, ближайшей и взвешенной временной интерполяции.

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

Всего наилучшего!

Гаэлим

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

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

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

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

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.