Я пытаюсь найти время одного идентификатора, проведенного в разных штатах.Время окончания каждого состояния дается.Разница между вторым и первым временем окончания дает время, проведенное во втором состоянии.Одно и то же состояние может происходить несколько раз в процессе идентификации.
Это входной файл
Следующий код анализирует ввод csv и выдает разницу.Я хотел бы назначить разницу во времени для каждого состояния (увеличить сумму, если повторяется одно и то же состояние).Это должно быть повторено для нескольких идентификаторов.Я имею в виду использование вложенного словаря, где внешний ключ - это идентификатор, а внутренний ключ: значение - это состояние: общее время diff.однако я не уверен в логике.
import pandas as pd
import numpy as np
import datetime as datetime
fileName = "Input_Data.csv"
df = pd.read_csv(fileName, delimiter = ',')
df2 = pd.to_datetime(df.end_time)
id= df['id'].loc[0]# get first id
i = 1
while (i < df.shape[0]):
if (id == df['id'].loc[i]):
diff = df2.loc[i] - df2.loc[i-1]
df['timediff'].loc[i] = diff
print ('id', id, 'status',df['status'].loc[i], 'time diff', diff)
else :
prid = df['id'].loc[i]
i += 1
#Nested Dictionary
#uniqueid = df['id'].unique()
#status = ["Returned","Draft","Pending Review","Submitted","PR Placed"]
#dict{}