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']