У меня есть три набора данных с пропущенными значениями, каждый из которых состоит из столбца времени и одного столбца данных. Минимальная разница во времени между двумя строками составляет 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
Теперь я хочу выровнять данные так, чтобы их можно было построить следующим образом:
и так:
Мой наивный подход таков:
- Найти мин /Максимальное количество раз в каждом наборе данных.
- Создайте таблицу со строкой для каждого времени и тремя столбцами, каждый из которых имеет
n/a
в качестве значения. - Выполните цикл по каждому набору данных и присвойте значения таблице.
Есть ли какая-нибудь функция / библиотека Python, которая эффективно выполняет эти шаги? Или есть лучший способ сделать это?
С уважением,