我有一个像下面这样的人
Date | Name | In/Out | Time |
---|---|---|---|
2024-01-01 | Homer | IN | 07:10 |
2024-01-01 | Homer | OUT | 09:30 |
2024-01-01 | Homer | IN | 10:00 |
2024-01-01 | Homer | OUT | 16:00 |
2024-01-01 | Marge | In | 07:15 |
2024-01-01 | Marge | Out | 16:10 |
2024-01-01 | Bart | In | 07:14 |
2024-01-01 | Bart | Out | 10:00 |
2024-01-01 | Bart | In | 10:15 |
2024-01-01 | Bart | Out | 12:00 |
2024-01-01 | Bart | In | 12:30 |
2024-01-01 | Bart | Out | 17:00 |
我的最终目标是计算中间IN/OUT
次的总timedelta(total_seconds()),如突出显示的.预期输出如下.
Date | Name | TimeDelta |
---|---|---|
2024-01-01 | Homer | 1800 |
2024-01-01 | Bart | 2700 |
我还不知道从哪里开始,也找不到任何其他地方的例子?
示例:
example_df = pd.DataFrame([
['2024-01-01', 'Homer', 'in', '07:30'],
['2024-01-01', 'Homer', 'out' ,'09:00'],
['2024-01-01', 'Homer', 'in' ,'09:30'],
['2024-01-01', 'Homer', 'out' ,'16:00'],
['2024-01-01', 'Marge', 'in' , '06:20'],
['2024-01-01', 'Marge', 'out' ,'16:00'],
['2024-01-01', 'Bart', 'in' ,'07:10'],
['2024-01-01', 'Bart', 'out' ,'08:00'],
['2024-01-01', 'Bart', 'in' ,'08:20'],
['2024-01-01', 'Bart', 'out' ,'17:00'],
['2024-01-01', 'Barney', 'in' ,'08:10'],
['2024-01-01', 'Lisa', 'in' ,'08:05'],
['2024-01-01', 'Lisa', 'out' ,'14:00'],
['2024-01-01', 'Lisa', 'in' ,'14:15'],
['2024-01-01', 'Lisa', 'out' ,'18:10'],
['2024-01-01', 'Millhouse', 'out' ,'19:10'],
['2024-02-01', 'Homer', 'in', '07:30'],
['2024-02-01', 'Homer', 'out' ,'09:00'],
['2024-02-01', 'Marge', 'in' , '06:30'],
['2024-02-01', 'Marge', 'out' ,'09:10'],
['2024-02-01', 'Marge', 'in' ,'10:10'],
['2024-02-01', 'Marge', 'out' ,'16:10'],
['2024-02-01', 'Bart', 'in' ,'07:10'],
['2024-02-01', 'Bart', 'out' ,'15:00'],
['2024-02-01', 'Barney', 'in' ,'08:10'],
['2024-02-01', 'Lisa', 'in' ,'08:05'],
['2024-02-01', 'Lisa', 'out' ,'16:00'],
['2024-02-01', 'Millhouse', 'in' ,'08:10'],
['2024-02-01', 'Millhouse', 'in' ,'08:10'],
['2024-02-01', 'Millhouse', 'in' ,'16:15']],
columns=['Date', 'Name', 'In/Out', 'Time'])