I would like to calculate the mean periode duration for the occurrence of different events.
I got data where every event has an id and is tracked in a single line identified by its id. every time an event occurs the date of occurrence is saved.
df_starting_point = pd.DataFrame(
[{'id': 3, '0': pd.to_datetime('2020-11-23T00:00:00.000000000') , '1': np.nan, '2' : np.nan},
{'id': 123, '0': pd.to_datetime('2020-03-22T00:00:00.000000000') , '1': np.nan, '2' : np.nan},
{'id': 13215, '0': pd.to_datetime('2020-03-23T00:00:00.000000000') , '1': pd.to_datetime('2020-03-28T00:00:00.000000000'), '2' : pd.to_datetime('2020-04-03T00:00:00.000000000')},
{'id': 123, '0': pd.to_datetime('2020-03-22T00:00:00.000000000') , '1': pd.to_datetime('2020-03-23T00:00:00.000000000'), '2' : np.nan}
])
Now I want to calculate the distance between every neighboring dates in weeks and calculate the mean periode duration for the occurrence of every event/id tracked.
The dataframe I want to calculate the mean durations of would look like this:
df_end_point = pd.DataFrame(
[{'id': 3, '0': np.nan , '1': np.nan},
{'id': 123, '0': np.nan , '1': np.nan},
{'id': 13215, '0': pd.to_datetime('2020-03-23T00:00:00.000000000') - pd.to_datetime('2020-03-28T00:00:00.000000000'), '1': pd.to_datetime('2020-03-28T00:00:00.000000000') - pd.to_datetime('2020-04-03T00:00:00.000000000')},
{'id': 123, '0': pd.to_datetime('2020-03-22T00:00:00.000000000') - pd.to_datetime('2020-03-23T00:00:00.000000000'), '1': np.nan}
])
Is there any way to do this elegantly? I would be grateful if I don't need to program this :)
Thank you, my friends!