Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Інтерполяція — це метод генерування точок між заданими точками. У цьому посібнику я покажу, як можна використовувати інтерполяцію для обробки відсутніх даних у Python. Ви можете переглянути повне відео цього підручника внизу цього блогу.
У Python інтерполяція — це техніка, яка здебільшого використовується для приписування відсутніх значень у кадрі або ряді даних під час попередньої обробки даних. Я продемонструю, як ви можете використовувати цей метод для оцінки відсутніх точок даних у ваших даних за допомогою LuckyTemplates.
Якщо ми подивимося на наші початкові дані тут, нижче, які представлені на верхньому графіку, ми побачимо, що є багато дірок або відсутніх даних, які ми не можемо побудувати на графіку, тому що там нічого немає. Але на нижньому графіку ми бачимо, що ми зробили деяку оцінку, щоб зрозуміти, як ці дані можуть виглядати. Фактичні дані представлені світло-блакитним кольором, а інтерпольовані дані – темно-синім.
Є кілька різних типів оцінки, які ми збираємося зробити. Ми виконаємо лінійну інтерполяцію, найближчу інтерполяцію, а потім зважену часову інтерполяцію. Кожен із них дасть нам дещо інші результати.
У прикладі вище використовується зважена інтерполяція часу, яка виглядає майже так само, як лінійна інтерполяція, за винятком того, що вона зважена на основі днів. Лінійна оцінка даних на основі нахилу між цими двома точками даних. Найближча інтерполяція має плоскіший тип оцінки, як ви можете бачити нижче, де ми дивилися на найближче значення та змогли оцінити, що існує між цими двома.
Отже, давайте перейдемо до блокнота Jupyter і принесемо його.
Зміст
Як використовувати інтерполяцію для обробки відсутніх даних у Python
Ви можете скористатися редактором сценаріїв, щоб створити сценарій, але це простіше. Ви отримуєте більше відгуків у своєму блокноті Jupyter. Отже, давайте задокументуємо те, що ми робимо. Коли ми скопіюємо та вставимо це до нашого Python Script Editor, це буде дуже чисто та зрозуміло.
Давайте імпортуємо бібліотеки, які нам потрібні, і ми збираємося імпортувати Pandas і зберегти їх як змінну PD. Ми збираємося імпортувати Numpy і зберегти його як змінну NP. Pandas — це бібліотека для маніпулювання даними, а Numpy також дозволяє нам маніпулювати даними та дає деяку лінійну алгебру.
Ми хочемо додати наш набір даних, і ми збираємося зберегти його як змінну df . І ми просто використаємо змінну Pandas ( pd ) і використаємо функцію read.csv . Потім ми збираємося скопіювати та вставити цей файл у те місце на нашому ПК. Моя знаходиться в моєму робочому каталозі, тож все, що мені потрібно зробити, це написати machines.csv і вкласти його в дужки.
І давайте подивимося на наш набір даних просто за допомогою змінної df. Ви бачите, що це відбувається з 1 числа 2022 року аж до 25 числа. Це послідовні дні аж до 15-го числа, а потім бракує чотирьох днів 19-го числа, потім бракує трьох днів, коли ми доходимо до 22-го числа, і два дні бракує 25-го числа.
Пропущені дні не є відсутніми даними. Це просто не дані в нашому наборі даних. Ми матимемо справу з відсутніми даними, які ви бачите представленими цими значеннями NaN або без них.
Тепер, коли у нас є набір даних, давайте використаємо різні типи інтерпретації та збережемо їх як різні стовпці. Ми бачимо, що у нас є об’єкт , який представлений текстом, а також у нас є float .
Я збираюся виокремити стовпець Date , використовуючи дужки. Тоді я збираюся використовувати дорівнює, щоб призначити це. Я збираюся використовувати змінну pd , а потім просто використовую функцію to_datetime. А потім я закрию цю функцію дужками та додам у стовпець Дата.
Ми бачимо, що тепер ми маємо дату як правильний тип даних.
Тут у нас є індекс, який позначається цифрами від 1 до 18. Коли ми робимо Лінійний, ці числа використовуватимуться для створення лінійного зв’язку між існуючими точками даних. Але ми також хочемо мати можливість використовувати зважену за часом інтерполяцію, яка розглядає час і дає нам результати на основі фактичних днів. Ми хочемо встановити стовпець Date як індекс, щоб ми могли його використовувати.
Я збираюся використовувати свою змінну кадру даних (df) і виконую set_index. Нам потрібно передати параметр під назвою inplace , щоб переконатися, що він передається назавжди. Отже, я збираюся використовувати inplace дорівнює true, а потім натисну shift і enter. І ви можете побачити, що числовий індекс зник, і ми маємо індекс Datetime.
Тепер ми можемо почати будувати ті стовпці, які нам потрібні. Давайте створимо стовпець, де ми інтерполюємо найближчу точку даних, яка заповнить ці відсутні значення найближчим значенням. Ми хочемо створити стовпець під назвою users_nearest і призначити його стовпцю Users .
Ми хочемо створити стовпець під назвою user_nearest і призначити його стовпцю користувача. І тепер, коли цей стовпець ізольовано, ми можемо використовувати функцію та натиснути клавішу Shift-tab, щоб побачити, які параметри приймає ця функція. Існує багато різних типів методів.
Ви бачите, що за замовчуванням лінійний, і якщо ви хочете, щоб він бачив усі різні методи, у цьому є інформація. Ви можете відкрити це до кінця, і тут буде багато інформації, яка дасть вам багато розуміння. Але завжди краще зайти на сайт Pandas і просто подивитися, що таке різні типи інтерполяції.
Тепер ми передамо потрібний метод і використаємо метод найближчої інтерполяції. Все, що нам потрібно зробити, це запустити це, і ви побачите, що створено стовпець. Якщо ми подивимося на цей конкретний рядок, ми побачимо, що це відсутнє значення. І ви можете бачити, що його було інтерпольовано, де взято найближче значення, і додано його сюди. Як бачите, ми більше не маємо пропущених значень для цього конкретного рядка.
Тепер давайте скопіюємо це двічі та змінимо назву цих стовпців на user_linear і user_time . Ми також змінимо методи, щоб відповідати нашим заголовкам. Ми можемо зміщувати та вводити, і ви бачите, що ми створили три стовпці на основі різних типів методів інтерполяції.
Далі я хочу створити ще один окремий стовпець, який дозволить нам вказати, які з них порожні, як прапорець у наших даних. Для цього ми будемо використовувати Numpy.
Отже, ми просто створимо новий стовпець під назвою df , а потім назвемо його прапорець. Ми збираємося призначити це зі знаком рівності. Потім ми будемо використовувати np , яка є нашою змінною Numpy. А потім ми використаємо функцію where , яка є умовною функцією. Ми встановлюємо умову, а потім отримуємо приклад істини та хибності. Ми використовуємо подвійне дорівнює, яке є рівним у Python. Коли це правда, ми хочемо сказати «Відсутні дані» . Іншим варіантом буде Дані .
Ми можемо використовувати цей прапор у нашому візуалі. Коли ми опинимося у вашому блокноті, перейдіть до трансформації та натисніть «Запустити сценарій Python». Тепер є кілька різних кроків. Нам потрібно змусити це працювати в межахнавколишнє середовище.
У нас є всі наші коди, і нам потрібно додати ще кілька кроків. По-перше, коли ми маємо справу з датою-часом, нам потрібно додати параметр помилки, який говорить, якщо у нас є якісь помилки, ви можете примусово або спробувати змінити це. Отже, я збираюся поставити тут errors equal , а потім parenthesis coerce . Далі нам потрібно перепризначити змінну набору даних як df.
Коли ми натискаємо OKAY, ми отримуємо іншу помилку, і це те, що нам потрібно зробити, щоб виправити це. Якщо ми повторимо наші кроки, нам не потрібно форматувати дату. Ми дозволимо Python працювати з датами, оскільки дати унікальні для кожної платформи. Перше, що нам потрібно зробити, це позбутися Changed Type .
У нас немає стовпця Дата, оскільки дата є індексом. Отже, ми повертаємось до нашого сценарію Python, а потім просто скидаємо наш індекс df.reset_index . Ми кажемо, що хочемо скинути його до обходу стовпця Date у цій дужці, а потім хочемо зробити inplace = true .
І тепер у нас є дата, і всі інші типи даних готові.
Якщо ми представимо це у візуальному вигляді, то ось як це виглядає в трьох різних методах інтерполяції при обробці відсутніх даних у Python.
Висновок
У цьому підручнику ви ознайомилися з трьома методами інтерполяції для обробки відсутніх даних. Ми обговорили методи лінійної, найближчої та зваженої інтерполяції часу.
Сподіваюся, ви знайдете це корисним і застосуєте його у своїй роботі. Ви можете переглянути повний відеопосібник нижче, щоб отримати докладніші відомості, і ознайомитися з посиланнями нижче, щоб дізнатися більше про обробку відсутніх даних у Python.
Все найкраще!
Гаелім
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.