Temporian — это библиотека для безопасной , простой и эффективной предварительной обработки и проектирования функций временных данных в Python. Temporian поддерживает многомерные временные ряды, многомерные временные последовательности, журналы событий и потоки событий из разных источников.
Temporian для временных данных — то же самое, что Pandas для табличных данных.
Поддерживает большинство типов временных данных ?: Обрабатывает как равномерно выбранные, так и неравномерно выбранные данные, как одномерные, так и многомерные данные, как плоские, так и многоиндексные данные, а также несинхронизированные события как с одним источником, так и с несколькими источниками.
Оптимизирован для временных данных : основные вычисления Temporian реализованы на C++ и оптимизированы для временных данных. Temporian может работать более чем в 1000 раз быстрее, чем готовые библиотеки обработки данных при работе с временными данными.
Легко интегрироваться в существующую экосистему машинного обучения : Temporian не выполняет никакого обучения модели машинного обучения — вместо этого он легко интегрируется с любой библиотекой машинного обучения, такой как PyTorch, Scikit-Learn, Jax, TensorFlow, XGBoost или Yggdrasil Decision Forests.
Предотвращает нежелательную будущую утечку ?: Если явно не указано в tp.leak
, вычисление функций не может зависеть от будущих данных, тем самым предотвращая нежелательную, сложную для отладки и потенциально дорогостоящую будущую утечку.
Установите Temporian из PyPI с помощью pip
:
pip install temporian -U
Temporian в настоящее время доступен для Linux и MacOS (ARM и Intel). Поддержка Windows находится в стадии разработки.
Рассмотрим записи о продажах, которые содержат timestamp
, store
и revenue
от отдельных продаж.
$ cat sales.csv
timestamp,store,revenue
2023-12-04 21:21:05,STORE_31,5071
2023-11-08 17:14:38,STORE_4,1571
2023-11-29 21:44:46,STORE_49,6101
2023-12-20 18:17:14,STORE_18,4499
2023-12-15 10:55:09,STORE_2,6666
...
Наша цель — вычислить сумму дохода для каждого магазина в 23:00 каждый будний день (исключая выходные).
Сначала мы загружаем данные и перечисляем рабочие дни.
import temporian as tp
# Load sale transactions
sales = tp . from_csv ( "sales.csv" )
# Index sales per store
sales_per_store = sales . add_index ( "store" )
# List work days
days = sales_per_store . tick_calendar ( hour = 22 )
work_days = ( days . calendar_day_of_week () <= 5 ). filter ()
work_days . plot ( max_num_plots = 1 )
Затем мы суммируем ежедневный доход за каждый рабочий день и каждый магазин.
# Aggregate revenue per store and per work day
daily_revenue = sales_per_store [ "revenue" ]. moving_sum ( tp . duration . days ( 1 ), sampling = work_days ). rename ( "daily_revenue" )
# Plot the results
daily_revenue . plot ( max_num_plots = 3 )
Наконец, мы можем экспортировать результат как DataFrame Pandas для дальнейшей обработки или для использования другими библиотеками.
tp . to_pandas ( daily_revenue )
Ознакомьтесь с руководством по началу работы, чтобы узнать больше!
Новым пользователям следует обратиться к руководству «Приступая к работе», в котором представлен краткий обзор ключевых концепций и операций Temporian.
После этого посетите Руководство пользователя, чтобы глубже изучить основные концепции, операторы, соглашения и практики Temporian. Для получения практического опыта ознакомьтесь с учебными пособиями или обратитесь к справочнику по API.
Если вам нужна помощь, у вас есть вопрос, вы хотите внести свой вклад или просто хотите стать частью сообщества Temporian, мы рекомендуем вам присоединиться к нашему серверу Discord! ??
Документация доступна по адресу temporian.readthedocs.io. Руководство по началу работы — лучший способ начать.
Вклад в Temporian приветствуется! Чтобы начать работу, ознакомьтесь с руководством по участию.
Temporian разработан в сотрудничестве Google и Tryolabs.