{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example of Operation Count" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# import openLA as la\n", "import OpenLA as la" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "course_info, event_stream = la.start_analysis(files_dir=\"dataset_sample\", course_id=\"A\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Before conversion" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
useridcontentsidoperationnamepagenomarkermemo_lengthdevicecodeeventtime
0A_U1C1PREV10NaN0tablet2018-04-09 10:57:15
1A_U1C1PREV9NaN0tablet2018-04-09 11:00:59
2A_U1C1PREV8NaN0tablet2018-04-09 11:03:31
3A_U1C1PREV30NaN0tablet2018-04-10 10:14:12
4A_U1C1PREV29NaN0tablet2018-04-10 10:27:24
...........................
263279A_U99C8NEXT3NaN0pc2018-06-05 16:16:18
263280A_U99C8ADD MARKER4difficult0pc2018-06-05 16:18:34
263281A_U99C8NEXT4NaN0pc2018-06-05 16:19:24
263282A_U99C8NEXT5NaN0pc2018-06-05 16:20:45
263283A_U99C8PREV6NaN0pc2018-06-05 16:21:03
\n", "

263284 rows × 8 columns

\n", "
" ], "text/plain": [ " userid contentsid operationname pageno marker memo_length \\\n", "0 A_U1 C1 PREV 10 NaN 0 \n", "1 A_U1 C1 PREV 9 NaN 0 \n", "2 A_U1 C1 PREV 8 NaN 0 \n", "3 A_U1 C1 PREV 30 NaN 0 \n", "4 A_U1 C1 PREV 29 NaN 0 \n", "... ... ... ... ... ... ... \n", "263279 A_U99 C8 NEXT 3 NaN 0 \n", "263280 A_U99 C8 ADD MARKER 4 difficult 0 \n", "263281 A_U99 C8 NEXT 4 NaN 0 \n", "263282 A_U99 C8 NEXT 5 NaN 0 \n", "263283 A_U99 C8 PREV 6 NaN 0 \n", "\n", " devicecode eventtime \n", "0 tablet 2018-04-09 10:57:15 \n", "1 tablet 2018-04-09 11:00:59 \n", "2 tablet 2018-04-09 11:03:31 \n", "3 tablet 2018-04-10 10:14:12 \n", "4 tablet 2018-04-10 10:27:24 \n", "... ... ... \n", "263279 pc 2018-06-05 16:16:18 \n", "263280 pc 2018-06-05 16:18:34 \n", "263281 pc 2018-06-05 16:19:24 \n", "263282 pc 2018-06-05 16:20:45 \n", "263283 pc 2018-06-05 16:21:03 \n", "\n", "[263284 rows x 8 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "event_stream.df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## After conversion: the operation count in each contents" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "operation_count = la.convert_into_operation_count(event_stream=event_stream,\n", " user_id=course_info.user_id()[:2],\n", " contents_id=course_info.contents_id()[:2],\n", " operation_name=[\"OPEN\", \"CLOSE\", \"ADD MARKER\", \"ADD MEMO\", \"ADD BOOKMARK\"],\n", " separate_marker_type=False)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
useridcontentsidOPENCLOSEADD MARKERADD MEMOADD BOOKMARK
0A_U1C198.02.00.03.0
1A_U1C220.00.00.02.0
2A_U10C122.08.01.01.0
3A_U10C211.00.00.00.0
\n", "
" ], "text/plain": [ " userid contentsid OPEN CLOSE ADD MARKER ADD MEMO ADD BOOKMARK\n", "0 A_U1 C1 9 8.0 2.0 0.0 3.0\n", "1 A_U1 C2 2 0.0 0.0 0.0 2.0\n", "2 A_U10 C1 2 2.0 8.0 1.0 1.0\n", "3 A_U10 C2 1 1.0 0.0 0.0 0.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "operation_count.df # related to users \"A_U1\" and \"A_U10\", and contents \"C1\" and \"C2\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Save the data to CSV file" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "operation_count.to_csv(save_file=\"data.csv\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Aggregate information" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of users in the data\n", "operation_count.num_users()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['A_U1', 'A_U10']" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# User ids in the data\n", "operation_count.user_id()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['C1', 'C2']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Contents ids in the data\n", "operation_count.contents_id()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['OPEN', 'CLOSE', 'ADD MARKER', 'ADD MEMO', 'ADD BOOKMARK']" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Operation names in the data\n", "operation_count.operation_name()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.0" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of selected operation logs\n", "operation_count.operation_count(operation_name=\"ADD MARKER\", \n", " user_id=\"A_U1\", \n", " contents_id=\"C1\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'ADD MARKER': 2.0, 'ADD BOOKMARK': 3.0}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "operation_count.operation_count(operation_name=[\"ADD MARKER\", \"ADD BOOKMARK\"], \n", " user_id=\"A_U1\", \n", " contents_id=\"C1\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize information\n", "The average operation count of all users in all contents." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "la.visualize_operation_count_bar(operation_count,\n", " user_id=None,\n", " contents_id=None,\n", " operation_name=None,\n", " calculate_type=\"average\",\n", " xlabel=None,\n", " ylabel=None,\n", " ax=None,\n", " figsize=(20, 10),\n", " fontsize=20,\n", " save_file=None)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }