我的数据框由第1列(即事件)和第2列(即日期时间)组成:
样本数据
Class Event Time
0 A 0 2020-02-19 11:00:00
1 A 0 2020-02-19 11:30:00
2 B 1 2020-02-19 11:00:00
3 B 1 2020-02-19 11:30:00
4 B 0 2020-02-19 12:00:00
5 B 0 2020-02-19 12:30:00
6 A 0 2020-02-19 14:00:00
7 B 1 2020-02-19 13:30:00
8 A 1 2020-02-19 15:00:00
9 B 1 2020-02-19 15:30:00
10 A 0 2020-02-19 15:30:00
11 B 0 2020-02-19 16:00:00
12 A 1 2020-02-19 16:30:00
我想按班级查找每个活动的开始时间和结束时间: 我尝试了以下代码from the answer to my previous question,但得到的数据帧为空:
current_event = None
result = []
grouped=df.groupby(['Class'])
for name, group in grouped:
for class, event, time in zip(data['Class'],data['Event'], data['Time']):
if event != current_event:
if current_event is not None:
result.append([Class,current_event, start_time, time])
class, current_event, start_time = class, event, time
data = pandas.DataFrame(result, columns=['Class','Event','EventStartTime','EventEndTime'])
期望数据
Class Event EventStartTime EventEndTime
0 A 0 2020-02-19 11:00:00 2020-02-19 15:00:00
1 A 1 2020-02-19 15:00:00 2020-02-10 15:30:00
2 A 0 2020-02-19 15:30:00 2020-02-10 16:30:00
3 B 1 2020-02-19 11:00:00 2020-02-10 12:00:00
4 B 0 2020-02-19 12:00:00 2020-02-19 13:30:00
5 B 1 2020-02-19 13:30:00 2020-02-19 16:00:00
注意:EventEndTime是事件将值(例如从值1更改为Get change)更改为0或特定类的任何其他值时的时间
尝试:
相关问题 更多 >
编程相关推荐