. . - , - ( event). , , , - , - .
, ( 1 ) 0 ( . .min().fillna(0) - frame NAs, , , apply(lambda x:...)
df['event'] = 1
df_starts = df.pivot('start_time', 'user', 'event').fillna(0).resample('1S').min().fillna(0)
df_stops = df.pivot('end_time', 'user', 'event').fillna(0).resample('1S').min().fillna(0)
, . .
full_index = df_starts.index.union(df_stops.index)
df_starts = df_starts.reindex(full_index, fill_value=0)
df_stops = df_stops.reindex(full_index, fill_value=0)
, . 1 , 1 . .cumsum(), .
df_change = df_starts - df_stops
df_running = df_change.cumsum()
df_running, x - .
