Представлено в качестве примера.Как найти выравнивание двух наборов данных в пандах
Два набора данных. Один собран в течение 1 часа. Один собран в течение 20 минут в течение этого часа.
Каждый набор данных содержит экземпляры событий, которые могут быть преобразованы в отдельные столбцы истины (-
) или false (_
), представляющие, если событие происходит или нет.
DS1.event:
_-__-_--___----_-__--_-__---__
DS2.event:
__--_-__--
Я ищу способ автоматизировать корреляцию (поправьте меня, если терминология неверна) двух данных устанавливает и находит смещение (-ы) в DS1, в котором DS2 больше всего (верхний x много), вероятно, произошел. Вероятно, это приведет к некоторому соответствующему проценту, который я могу затем установить для определения правильности совпадения.
Такое, что
_-__-_--___----_-__--_-__---__
__--_-__--
DS1.start + 34min ~ = DS2.start
Дополнительная информация:
DS1 был записан на примерно 1 Гц. DS2 примерно на 30 Гц. Это делает менее вероятным, что будет 100% чистое совпадение.
Альтернативные методы (для панд) будут оценены, но python/pandas - вот что я имею в своем распоряжении.
Можете ли вы использовать 'numpy.convolve' и найти максимум этого? – Evert