user user_id age swiped_in swiped_out
0 Bob 1 53 2019-02-25 09:50:32 2018-02-25 10:50:32
1 Jane 2 34 2019-02-25 09:50:32 2019-02-25 11:50:32
2 Alice 3 35 2019-02-25 09:50:32 2019-02-25 12:50:32
3 Bob 1 54 2019-02-25 10:50:32 2019-02-25 11:30:32
4 Bob 1 55 2019-02-25 11:31:32 2019-02-25 12:51:32
5 Jane 2 34 2019-02-25 09:50:32 2019-02-25 11:50:32
И это мой код ..
c = ['swiped_in','swiped_out']
df[c] = df[c].apply(pd.to_datetime)
df = df.sort_values(c)
df=df.groupby(['user','user_id']).agg({'swiped_in':'min','swiped_out':'max','age':'first'})
А теперь я могу получить следующий вывод.
swiped_in swiped_out age
user user_id
Alice 3 2019-02-25 09:50:32 2019-02-25 12:50:32 35
Bob 1 2019-02-25 09:50:32 2019-02-25 12:51:32 53
Jane 2 2019-02-25 09:50:32 2019-02-25 11:50:32 34
И что мне нужно, это ..
swiped_in swiped_out age
user user_id
Alice 3 2019-02-25 09:50:32 2019-02-25 12:50:32 35
Bob 1 2019-02-25 09:50:32 2019-02-25 12:51:32 ..
Jane 2 2019-02-25 09:50:32 2019-02-25 11:50:32 34
Если возраст такой же, тогда я могу заполнить данные как есть.Если он не уникален, мне нужно указать свое значение.