Дані часових рядів у 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 про метод повторної вибірки, щоб дізнатися багато різних способів зробити це. Ми розглянули основні, але ви можете робити такі дії, як кожні два тижні, останній робочий день місяця та інші варіанти повторної вибірки.

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

Джордж Маунт


Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

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

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

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

Локальний шлюз даних у Power Automate

Локальний шлюз даних у Power Automate

Дізнайтеся, як локальний шлюз даних дозволяє Power Automate отримувати доступ до настільних програм, коли користувач знаходиться поза комп’ютером.

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

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

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

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

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.

Функція параметра LuckyTemplates «Що, якщо».

Функція параметра LuckyTemplates «Що, якщо».

У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Дізнайтеся, як визначити, чи добре зростає ваш дохід, перевіривши, чи зросла ваша маржа за допомогою розгалуження міри LuckyTemplates.

Параметри LuckyTemplates через редактор запитів

Параметри LuckyTemplates через редактор запитів

Дізнайтеся та зрозумійте, як можна створювати та використовувати параметри LuckyTemplates, які є потужною функцією редактора запитів.

Кругла гістограма – візуалізація для вашої інформаційної панелі

Кругла гістограма – візуалізація для вашої інформаційної панелі

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