========================================================= Tutorial of *TimeRangeAggregation* ========================================================= | *TimeRangeAggregation* class has the aggregated log as the member variable and has the method functions to get the information. .. image:: timerange_aggregation.png :scale: 70% :align: center .. code-block:: python import OpenLA as la import pandas as pd operations = ["NEXT", "PREV", "ADD MARKER"] course_info, event_stream = la.start_analysis(files_dir="dataset_sample", course_id="A") user = event_stream.user_id()[5] lecture = 1 content = "C1" timerange_aggregation = la.convert_into_time_range(course_info, event_stream, user_id=user, contents_id=content, lecture_week=lecture, interval_seconds=60, start_time='start_of_lecture', end_time='end_of_lecture', time_range_basis='minutes', count_operation=True, operation_name=operations, ) timerange_df = timerange_aggregation.df print(timerange_df) """ elapsed_minutes start_of_range end_of_range userid contentsid pageno NEXT PREV 0 1.0 2018-04-10 14:50:00 2018-04-10 14:51:00 U1 C1 1 0.0 0.0 1 2.0 2018-04-10 14:51:00 2018-04-10 14:52:00 U1 C1 1 0.0 0.0 2 3.0 2018-04-10 14:52:00 2018-04-10 14:53:00 U1 C1 1 0.0 0.0 3 4.0 2018-04-10 14:53:00 2018-04-10 14:54:00 U1 C1 1 0.0 0.0 4 5.0 2018-04-10 14:54:00 2018-04-10 14:55:00 U1 C1 1 0.0 0.0 .. ... ... ... ... ... ... ... ... 85 86.0 2018-04-10 16:15:00 2018-04-10 16:16:00 U1 C1 27 18.0 2.0 86 87.0 2018-04-10 16:16:00 2018-04-10 16:17:00 U1 C1 40 0.0 0.0 87 88.0 2018-04-10 16:17:00 2018-04-10 16:18:00 U1 C1 38 0.0 22.0 88 89.0 2018-04-10 16:18:00 2018-04-10 16:19:00 U1 C1 9 5.0 13.0 89 90.0 2018-04-10 16:19:00 2018-04-10 16:20:00 U1 C1 14 19.0 0.0 """ | The method functions in below table are available now. | You can get the information of the log like ``timerange_aggregation.num_users()``. | The documentation is in :doc:`../scripts/time_range_aggregation` +-----------------------------+------------------------------------------------------------+ | function | description | +=============================+============================================================+ | num_users | Get the number of users in the log | +-----------------------------+------------------------------------------------------------+ | user_id | Get the unique user ids in the log | +-----------------------------+------------------------------------------------------------+ | contents_id | Get the unique contents ids in the log | +-----------------------------+------------------------------------------------------------+ | operation_name | Get the unique operation name in the log | +-----------------------------+------------------------------------------------------------+ | operation_count | Get the count of each (or specified) operation in the log | +-----------------------------+------------------------------------------------------------+ | reading_seconds | Get the reading seconds in the log | +-----------------------------+------------------------------------------------------------+ | num_unique_pages | Get the number of unique pages in the log | +-----------------------------+------------------------------------------------------------+ | unique_pages | Get the unique page numbers in the log | +-----------------------------+------------------------------------------------------------+ If you want to process other than the above functions, you can get DataFrame type event stream by ``timerange_aggregation.df`` and process with Pandas library. Example ============= .. toctree:: :maxdepth: 1 ../jupyter_examples/example_timerange