Выравнивание наборов данных временных рядов с отсутствующими значениями для построения - PullRequest
3 голосов
/ 22 декабря 2019

У меня есть три набора данных с пропущенными значениями, каждый из которых состоит из столбца времени и одного столбца данных. Минимальная разница во времени между двумя строками составляет 1 секунду (00:00:01):

Dataset 1:          Dataset 2:          Dataset 3:  
00:00:00    81                          00:00:00    70
00:00:01    81                      
00:00:02    81                      
00:00:03    81                          00:00:03    99
00:00:04    81                          00:00:04    100
00:00:05    80      00:00:05    80      00:00:05    101
00:00:06    80      00:00:06    100         
                    00:00:07    92      00:00:07    88
00:00:08    83      00:00:08    80      00:00:08    88
00:00:09    84      00:00:09    83      00:00:09    87
00:00:10    86                      
00:00:11    89                      
00:00:12    90                      
00:00:13    92                          00:00:13    92
00:00:14    94                          00:00:14    94
00:00:15    94      00:00:15    96      00:00:15    93
00:00:16    96      00:00:16    97          
00:00:17    98      00:00:17    100     00:00:17    99
00:00:18    100                         00:00:18    99
00:00:19    101                         00:00:19    101
00:00:20    103                     

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

Dataset 1:          Dataset 2:          Dataset 3:  
00:00:00    81      00:00:05    80      00:00:00    70
00:00:01    81      00:00:06    100     00:00:03    99
00:00:02    81      00:00:07    92      00:00:04    100
00:00:03    81      00:00:08    80      00:00:05    101
00:00:04    81      00:00:09    83      00:00:07    88
00:00:05    80      00:00:15    96      00:00:08    88
00:00:06    80      00:00:16    97      00:00:09    87
00:00:08    83      00:00:17    100     00:00:13    92
00:00:09    84                          00:00:14    94
00:00:10    86                          00:00:15    93
00:00:11    89                          00:00:17    99
00:00:12    90                          00:00:18    99
00:00:13    92                          00:00:19    101
00:00:14    94                      
00:00:15    94                      
00:00:16    96                      
00:00:17    98                      
00:00:18    100                     
00:00:19    101                     
00:00:20    103                     

Теперь я хочу выровнять данные так, чтобы их можно было построить следующим образом:

Combined

и так:

Split

Мой наивный подход таков:

  1. Найти мин /Максимальное количество раз в каждом наборе данных.
  2. Создайте таблицу со строкой для каждого времени и тремя столбцами, каждый из которых имеет n/a в качестве значения.
  3. Выполните цикл по каждому набору данных и присвойте значения таблице.

Есть ли какая-нибудь функция / библиотека Python, которая эффективно выполняет эти шаги? Или есть лучший способ сделать это?

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...