Python 3.x 创建事件标志
我正在创建事件标志(即第一个事件、最后一个事件、其他事件(在第一个事件和最后一个事件之间)。事件在每场比赛中发生(即gsm\u id)。我已经创建了第一个事件(第一个事件)和最后一个事件(最后一个事件)的记录在两个不同的列中。您可以查看下表以了解更多详细信息Python 3.x 创建事件标志,python-3.x,pandas,events,event-handling,Python 3.x,Pandas,Events,Event Handling,我正在创建事件标志(即第一个事件、最后一个事件、其他事件(在第一个事件和最后一个事件之间)。事件在每场比赛中发生(即gsm\u id)。我已经创建了第一个事件(第一个事件)和最后一个事件(最后一个事件)的记录在两个不同的列中。您可以查看下表以了解更多详细信息 gsm_id eventdatetime matchdatetime PreviousEventTime First Event Last Event 2462794 8/11/2017 18:46 8/11/2017 18:
gsm_id eventdatetime matchdatetime PreviousEventTime First Event Last Event
2462794 8/11/2017 18:46 8/11/2017 18:45 8/11/2017 18:45 8/11/2017 18:46 8/11/2017 20:09
2462794 8/11/2017 18:49 8/11/2017 18:45 8/11/2017 18:46 8/11/2017 18:46 8/11/2017 20:09
2462794 8/11/2017 19:13 8/11/2017 18:45 8/11/2017 18:49 8/11/2017 18:46 8/11/2017 20:09
2462794 8/11/2017 19:31 8/11/2017 18:45 8/11/2017 19:13 8/11/2017 18:46 8/11/2017 20:09
2462794 8/11/2017 19:40 8/11/2017 18:45 8/11/2017 19:31 8/11/2017 18:46 8/11/2017 20:09
2462794 8/11/2017 20:07 8/11/2017 18:45 8/11/2017 19:40 8/11/2017 18:46 8/11/2017 20:09
2462794 8/11/2017 20:09 8/11/2017 18:45 8/11/2017 20:07 8/11/2017 18:46 8/11/2017 20:09
2462795 8/12/2017 17:39 8/12/2017 16:30 8/12/2017 16:30 8/12/2017 17:39 8/12/2017 17:44
2462795 8/12/2017 17:44 8/12/2017 16:30 8/12/2017 17:39 8/12/2017 17:39 8/12/2017 17:44
2462796 8/12/2017 14:23 8/12/2017 14:00 8/12/2017 14:00 8/12/2017 14:23 8/12/2017 15:27
2462796 8/12/2017 14:38 8/12/2017 14:00 8/12/2017 14:23 8/12/2017 14:23 8/12/2017 15:27
2462796 8/12/2017 14:42 8/12/2017 14:00 8/12/2017 14:38 8/12/2017 14:23 8/12/2017 15:27
2462796 8/12/2017 15:08 8/12/2017 14:00 8/12/2017 14:42 8/12/2017 14:23 8/12/2017 15:27
2462796 8/12/2017 15:27 8/12/2017 14:00 8/12/2017 15:08 8/12/2017 14:23 8/12/2017 15:27
2462797 8/12/2017 14:22 8/12/2017 14:00 8/12/2017 14:00 8/12/2017 14:22 8/12/2017 15:17
2462797 8/12/2017 14:25 8/12/2017 14:00 8/12/2017 14:22 8/12/2017 14:22 8/12/2017 15:17
2462797 8/12/2017 15:17 8/12/2017 14:00 8/12/2017 14:25 8/12/2017 14:22 8/12/2017 15:17
数据可从google drive下载,如下所示:
[
我想做的就是这样。
我将创建一个新列来记录标志(字符串)(即“first event”,其中eventdatetime和first event相同,“Last event”,其中eventdatetime和Last event相同,其余将分配为“Other”。
我尝试使用np.where方法,但它只能给我两个参数。
有人能建议如何处理3个参数来获得上述新列吗
谢谢
Zep我认为需要:
m1 = df['eventdatetime'] == df['First Event']
m2 = df['eventdatetime'] == df['Last Event']
df['flag'] = np.select([m1, m2], ['First event','Last event'], default='Other')
print (df)
gsm_id eventdatetime matchdatetime PreviousEventTime \
0 2462794 8/11/2017 18:46 8/11/2017 18:45 8/11/2017 18:45
1 2462794 8/11/2017 18:49 8/11/2017 18:45 8/11/2017 18:46
2 2462794 8/11/2017 19:13 8/11/2017 18:45 8/11/2017 18:49
3 2462794 8/11/2017 19:31 8/11/2017 18:45 8/11/2017 19:13
4 2462794 8/11/2017 19:40 8/11/2017 18:45 8/11/2017 19:31
5 2462794 8/11/2017 20:07 8/11/2017 18:45 8/11/2017 19:40
6 2462794 8/11/2017 20:09 8/11/2017 18:45 8/11/2017 20:07
7 2462795 8/12/2017 17:39 8/12/2017 16:30 8/12/2017 16:30
8 2462795 8/12/2017 17:44 8/12/2017 16:30 8/12/2017 17:39
9 2462796 8/12/2017 14:23 8/12/2017 14:00 8/12/2017 14:00
10 2462796 8/12/2017 14:38 8/12/2017 14:00 8/12/2017 14:23
11 2462796 8/12/2017 14:42 8/12/2017 14:00 8/12/2017 14:38
12 2462796 8/12/2017 15:08 8/12/2017 14:00 8/12/2017 14:42
13 2462796 8/12/2017 15:27 8/12/2017 14:00 8/12/2017 15:08
14 2462797 8/12/2017 14:22 8/12/2017 14:00 8/12/2017 14:00
15 2462797 8/12/2017 14:25 8/12/2017 14:00 8/12/2017 14:22
16 2462797 8/12/2017 15:17 8/12/2017 14:00 8/12/2017 14:25
First Event Last Event flag
0 8/11/2017 18:46 8/11/2017 20:09 First event
1 8/11/2017 18:46 8/11/2017 20:09 Other
2 8/11/2017 18:46 8/11/2017 20:09 Other
3 8/11/2017 18:46 8/11/2017 20:09 Other
4 8/11/2017 18:46 8/11/2017 20:09 Other
5 8/11/2017 18:46 8/11/2017 20:09 Other
6 8/11/2017 18:46 8/11/2017 20:09 Last event
7 8/12/2017 17:39 8/12/2017 17:44 First event
8 8/12/2017 17:39 8/12/2017 17:44 Last event
9 8/12/2017 14:23 8/12/2017 15:27 First event
10 8/12/2017 14:23 8/12/2017 15:27 Other
11 8/12/2017 14:23 8/12/2017 15:27 Other
12 8/12/2017 14:23 8/12/2017 15:27 Other
13 8/12/2017 14:23 8/12/2017 15:27 Last event
14 8/12/2017 14:22 8/12/2017 15:17 First event
15 8/12/2017 14:22 8/12/2017 15:17 Other
16 8/12/2017 14:22 8/12/2017 15:17 Last event