Дані часових рядів у Pandas

У цьому підручнику ви дізнаєтесь, як перевибирати дані часових рядів за допомогою Pandas. Ви можете переглянути повне відео цього підручника внизу цього блогу .

Що це за ідея повторної вибірки? Це пов’язано з даними часових рядів, і те, що ми зробимо, це змінимо частоту, з якою дані звітуються. Наприклад, змінити річне значення на місячне чи тижневе або змінити погодинні дані на щоденні. Словом, змінюємо рівень в ієрархії.

Це можна використовувати з кількох причин, наприклад для отримання надійніших тенденцій , розмірів вибірки та сезонності . У деяких звітах матиме більше сенсу використовувати певний рівень ієрархії, а не інший.

Крім того, повторна вибірка може допомогти, якщо у вас є різні джерела даних і вам потрібно виконати об’єднання даних часових рядів. Це також допоможе у вирішенні невідповідності в .

Дані часових рядів у Pandas

Щоб розбити це далі, ми маємо зменшення та підвищення дискретизації.

Зменшення дискретизації — це зменшення частоти звітування . Це можуть бути такі речі, як перетворення з секунди на годину, щоб мати менше значень, або зменшення дискретизації з місяця на квартал.

З іншого боку, підвищена дискретизація полягає у збільшенні частоти звітування від рівня місяця до рівня дня . Пізніше ми матимемо більше прикладів цього.

Дані часових рядів у Pandas

Зміст

Як повторити вибірку даних часових рядів за допомогою Pandas

Як ми збираємося це зробити в Pandas?

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

Дані часових рядів у Pandas

Давайте перейдемо до Jupyter Notebook Python і перевіримо це за допомогою Pandas.

Для початку ми будемо використовувати Pandas, ввівши import pandas як pd , потім import seaborn як sns для візуалізації та імпорт matplotlib.pyplot як plt для налаштування .

Наступне, що потрібно зробити, це отримати дані з vega_datasets import data . Це гарне місце, щоб отримати зразки джерел. Крім того, ми збираємося отримати бібліотеку sp = data.sp500 ( ) і sp.head ( ) .

Дані часових рядів у Pandas

Ось наші дані на даний момент. У нас є щоденні прибутки та ціни на кожен день.

Дані часових рядів у Pandas

Щоб встановити індекс у стовпець дати, введіть sp.set_index(['date'], inplace=True), а потім знову викличте sp.head .

Дані часових рядів у Pandas

Використання підвищення дискретизації для отримання значень

Потім, щоб отримати більше значень, скористаємося підвищенням дискретизації. Оскільки ми маємо дані для кожного дня, ми можемо перейти до години, використовуючи найпростішу функцію, яка є sp [['price']]. resample ('H').ffill ( ) , а потім запустіть його. H означає годину, M означає місяць, D означає день і так далі. Ви можете дізнатися більше про це в документації Pandas .

Як ми бачимо, 1 січня опівночі ціна становить 1394,46, як і в наступні години з 1:00 до 4:00. Інший приклад – 2 січня, коли ціна закриття становить 1366,42.

Дані часових рядів у Pandas

Існують інші способи зробити це, навіть якщо значення недоступне на рівні години. Крім того, існують більш складні способи, ніж просто заповнення вперед . Для нашого прикладу ми зробили базовий спосіб інтерполяції з підвищенням дискретизації.

Далі перейдемо до зменшення дискретизації, ввівши avg_month = sp [['price]].resample ('M').mean ( ) , потім avg_month.head ( ) і запустіть його для перевірки.

Як показано на малюнку, ми можемо бачити останній день кожного місяця та середню ціну. Ми можемо зменшити вибірки, щоб мати менше значень, або те, що ми називаємо скороченням.

Дані часових рядів у Pandas

Щоб візуалізувати це, давайте введемо повторно накреслені розміри. Потім слідує sns.lineplot . Лінійний графік краще працює з довшою віссю X, тоді як значення Y є середньою місячною ціною.

Щоб побачити на графіку середню ціну за місяць, давайте запустимо це.

Дані часових рядів у Pandas

Знову ж таки, ми можемо це зробити різними способами. Наприклад, якщо ми хочемо знати найнижчу ціну за квартал, все, що нам потрібно зробити, це ввести quarter_low , а потім quarter_low.head , щоб запустити його.

Отже, тепер ми можемо побачити квартальне найнижче значення, знайдене в кожному кварталі. Ось як ви виконуєте повторну вибірку.

Дані часових рядів у Pandas




Висновок

На завершення Pandas дійсно створено для повторної вибірки та даних часових рядів . Якщо ви працюєте з даними часових рядів і маєте іншу деталізацію, повторна вибірка може бути дуже корисною.

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

Все найкраще,

Джордж Маунт


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.