Group Dataframe With Until Column Value Meets The Condition
I am having the following data frame need group the frame based on the condition Data Frame date,day,Name,value,orinal_Time_amin,diff 9/23/2019,Monday,ABCD,21,2019-09-23 00:41:00,0
Solution 1:
Perhaps this?
Data:
date,day,Name,value,orinal_Time_amin,diff
9/23/2019,Monday,ABCD,21,2019-09-2300:41:00,09/23/2019,Monday,ABCD,5460,2019-09-2300:45:00,59/23/2019,Monday,ABCD,2742,2019-09-2300:50:00,59/23/2019,Monday,ABCD,13552,2019-09-2300:55:00,59/23/2019,Monday,ABCD,6178,2019-09-2301:24:00,259/23/2019,Monday,ABCD,171,2019-09-2301:25:00,59/23/2019,Monday,ABCD,763,2019-09-2301:30:00,59/23/2019,Monday,ABCD,1694,2019-09-2301:35:00,59/23/2019,Monday,ABCD,164,2019-09-2302:05:00,359/23/2019,Monday,ABCD,162,2019-09-2302:10:00,59/23/2019,Monday,ABCD,162,2019-09-2302:41:00,31
Code:
df = pd.read_clipboard(sep=',')
df['max.time'] = df.groupby(df['diff'].gt(30).cumsum())['orinal_Time_amin'].transform('max')
df['min.time'] = df.groupby(df['diff'].gt(30).cumsum())['orinal_Time_amin'].transform('min')
df['min.value'] = df.groupby(df['diff'].gt(30).cumsum())['value'].transform('min')
df[['day', 'Name', 'min.value', 'min.time', 'max.time']].drop_duplicates()
Out[1]:
day Name min.value min.time max.time
0 Monday ABCD 21 2019-09-23 00:41:00 2019-09-23 01:35:00
8 Monday ABCD 162 2019-09-23 02:05:00 2019-09-23 02:10:00
10 Monday ABCD 162 2019-09-23 02:41:00 2019-09-23 02:41:00
Post a Comment for "Group Dataframe With Until Column Value Meets The Condition"