У меня есть фрейм данных (ниже), где я читаю данные временного ряда о том, когда свет был включен и оставлен включенным, а затем выключен. Я создал серию вычисляемых столбцов в моем фрейме данных, чтобы идентифицировать каждый кластер (непрерывные кластеры «Вкл»). Что я хотел бы сделать, так это просуммировать общую продолжительность этого кластера, но сохранить это значение только в самое раннее время (первое «Вкл») каждого конкретного кластера. *** Желаемый результат будет выглядеть как столбец «Длина»
У меня есть все необходимые компоненты для создания кластера, но я не могу понять код для суммирования временных шагов этого конкретного кластера и сохранения значения как можно раньше. время.
ЛЮБАЯ помощь будет принята с благодарностью!
Данные также здесь (Я НЕВОЗМОЖНО ЗАМЕНИТЬ 0 В КОЛОННАХ "КЛАСТЕР" и "ДЛИНА" с NaN, но они должны быть. ИЗОБРАЖЕНИЕ верное. "
import pandas as pd
import numpy as np
data = {'Series': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A' ],
'Time': [0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5],
'TimeStep': [0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5],
'Light': ["Off", "Off", "On", "On", "On", "Off", "Off", "Off", "On", "On", "On", "On", "On", "Off", "Off"],
'Cluster': [0, 0, 1, 1, 1, 0, 0, 0, 1,1, 1, 1, 1, 0, 0],
'ClusterLength': [0, 0, 1.5, 0, 0, 0, 0, 0, 2.5, 0, 0, 0, 0, 0, 0], }
df = pd.DataFrame (data, columns = ['Series','Time','TimeStep','Light','Cluster','ClusterLength'])
df