Example of EventStream¶
[1]:
# import openLA as la
import OpenLA as la
course_info = la.CourseInformation(files_dir="dataset_sample", course_id="A")
Load event stream¶
[2]:
event_stream = course_info.load_eventstream()
[3]:
event_stream.df
[3]:
userid | contentsid | operationname | pageno | marker | memo_length | devicecode | eventtime | |
---|---|---|---|---|---|---|---|---|
0 | U1 | C1 | OPEN | 1 | NaN | 0 | tablet | 2018-04-08 17:53:47 |
1 | U1 | C1 | PAGE_JUMP | 1 | NaN | 0 | tablet | 2018-04-08 17:53:50 |
2 | U1 | C1 | NEXT | 1 | NaN | 0 | tablet | 2018-04-08 17:54:01 |
3 | U1 | C1 | NEXT | 2 | NaN | 0 | tablet | 2018-04-08 17:54:21 |
4 | U1 | C1 | NEXT | 3 | NaN | 0 | tablet | 2018-04-08 17:54:24 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
263279 | U99 | C8 | NEXT | 18 | NaN | 0 | pc | 2018-06-05 16:07:23 |
263280 | U99 | C8 | PREV | 19 | NaN | 0 | pc | 2018-06-05 16:07:26 |
263281 | U99 | C8 | PREV | 18 | NaN | 0 | pc | 2018-06-05 16:07:28 |
263282 | U99 | C8 | PREV | 17 | NaN | 0 | pc | 2018-06-05 16:07:30 |
263283 | U99 | C8 | CLOSE | 16 | NaN | 0 | pc | 2018-06-05 16:07:30 |
263284 rows × 8 columns
Aggregate Information¶
[4]:
event_stream.num_users()
[4]:
118
[5]:
event_stream.user_id()[:10]
[5]:
['U1', 'U10', 'U100', 'U101', 'U102', 'U103', 'U104', 'U105', 'U106', 'U107']
[6]:
event_stream.contents_id()
[6]:
['C1', 'C2', 'C3', 'C4', 'C5', 'C7', 'C8', 'C6']
[7]:
event_stream.operation_name()
[7]:
['OPEN',
'PAGE_JUMP',
'NEXT',
'PREV',
'ADD BOOKMARK',
'DELETE BOOKMARK',
'CLOSE',
'BOOKMARK_JUMP',
'ADD MARKER',
'DELETE MARKER',
'ADD MEMO',
'DELETE_MEMO',
'CHANGE MEMO',
'SEARCH',
'SEARCH_JUMP',
'LINK_CLICK']
[8]:
event_stream.operation_count(user_id="U1")
[8]:
{'NEXT': 936,
'PREV': 463,
'PAGE_JUMP': 25,
'OPEN': 22,
'ADD BOOKMARK': 8,
'CLOSE': 8,
'BOOKMARK_JUMP': 3,
'ADD MARKER': 2,
'DELETE BOOKMARK': 1,
'DELETE MARKER': 1}
[9]:
event_stream.operation_count(operation_name="NEXT",
user_id="U2",
contents_id="C1")
[9]:
147
[10]:
event_stream.marker_type()
[10]:
['difficult', 'important']
[11]:
event_stream.device_code()
[11]:
['tablet', 'pc', 'mobile']