Source code for rook.dashboard.models

import pandas as pd


[docs] def concurrent_requests(df): # concurrent requests # https://stackoverflow.com/questions/57804145/combining-rows-with-overlapping-time-periods-in-a-pandas-dataframe start_df = pd.DataFrame({"time": df["time_start"], "what": 1}) end_df = pd.DataFrame({"time": df["time_end"], "what": -1}) merge_df = pd.concat([start_df, end_df]).sort_values("time") merge_df["running"] = merge_df["what"].cumsum() merge_df = merge_df.loc[merge_df["running"] > 0] return merge_df