{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.7.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":38760,"databundleVersionId":4493939,"sourceType":"competition"}],"dockerImageVersionId":30301,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import random\nfrom collections import Counter\nfrom datetime import timedelta\nimport warnings\n\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom tqdm.notebook import tqdm","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-09-27T06:15:22.131176Z","iopub.execute_input":"2024-09-27T06:15:22.131695Z","iopub.status.idle":"2024-09-27T06:15:23.459379Z","shell.execute_reply.started":"2024-09-27T06:15:22.131594Z","shell.execute_reply":"2024-09-27T06:15:23.457989Z"},"trusted":true},"execution_count":1,"outputs":[]},{"cell_type":"code","source":"sns.set_style(\"darkgrid\")\nwarnings.simplefilter(\"ignore\")","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:15:23.461919Z","iopub.execute_input":"2024-09-27T06:15:23.462449Z","iopub.status.idle":"2024-09-27T06:15:23.470712Z","shell.execute_reply.started":"2024-09-27T06:15:23.462397Z","shell.execute_reply":"2024-09-27T06:15:23.469129Z"},"trusted":true},"execution_count":2,"outputs":[]},{"cell_type":"markdown","source":"**Load Data**","metadata":{}},{"cell_type":"markdown","source":"Look like the big dataset, load in chunks","metadata":{}},{"cell_type":"code","source":"chunksize = 20_000\n\ntrain_data = pd.read_json(\"../input/otto-recommender-system/train.jsonl\", lines=True, chunksize=chunksize)\ntest_data = pd.read_json(\"../input/otto-recommender-system/test.jsonl\", lines=True, chunksize=chunksize)\nsample_submission = pd.read_csv(\"../input/otto-recommender-system/sample_submission.csv\", chunksize=chunksize)","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:24:16.167528Z","iopub.execute_input":"2024-09-27T06:24:16.167997Z","iopub.status.idle":"2024-09-27T06:24:16.180539Z","shell.execute_reply.started":"2024-09-27T06:24:16.167954Z","shell.execute_reply":"2024-09-27T06:24:16.178957Z"},"trusted":true},"execution_count":6,"outputs":[]},{"cell_type":"markdown","source":"Train and Test Data Examine","metadata":{}},{"cell_type":"code","source":"with open('../input/otto-recommender-system/train.jsonl', 'r') as f:\n    print(f\"Train: {len(f.readlines()):,} lines\")\nwith open('../input/otto-recommender-system/test.jsonl', 'r') as f:\n    print(f\"Test {len(f.readlines()):,} lines\")","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:24:20.825688Z","iopub.execute_input":"2024-09-27T06:24:20.826124Z","iopub.status.idle":"2024-09-27T06:25:15.208135Z","shell.execute_reply.started":"2024-09-27T06:24:20.826088Z","shell.execute_reply":"2024-09-27T06:25:15.206723Z"},"trusted":true},"execution_count":7,"outputs":[{"name":"stdout","text":"Train: 12,899,779 lines\nTest 1,671,803 lines\n","output_type":"stream"}]},{"cell_type":"code","source":"train_data_chunk = train_data.__next__()\ntrain_data_chunk","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:25:15.21046Z","iopub.execute_input":"2024-09-27T06:25:15.21089Z","iopub.status.idle":"2024-09-27T06:25:16.728647Z","shell.execute_reply.started":"2024-09-27T06:25:15.210837Z","shell.execute_reply":"2024-09-27T06:25:16.727095Z"},"trusted":true},"execution_count":8,"outputs":[{"execution_count":8,"output_type":"execute_result","data":{"text/plain":"       session                                             events\n0            0  [{'aid': 1517085, 'ts': 1659304800025, 'type':...\n1            1  [{'aid': 424964, 'ts': 1659304800025, 'type': ...\n2            2  [{'aid': 763743, 'ts': 1659304800038, 'type': ...\n3            3  [{'aid': 1425967, 'ts': 1659304800095, 'type':...\n4            4  [{'aid': 613619, 'ts': 1659304800119, 'type': ...\n...        ...                                                ...\n19995    19995  [{'aid': 1481519, 'ts': 1659305842045, 'type':...\n19996    19996  [{'aid': 1109584, 'ts': 1659305842183, 'type':...\n19997    19997  [{'aid': 1647277, 'ts': 1659305842315, 'type':...\n19998    19998  [{'aid': 753948, 'ts': 1659305842328, 'type': ...\n19999    19999  [{'aid': 1690380, 'ts': 1659305842502, 'type':...\n\n[20000 rows x 2 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>session</th>\n      <th>events</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>0</td>\n      <td>[{'aid': 1517085, 'ts': 1659304800025, 'type':...</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1</td>\n      <td>[{'aid': 424964, 'ts': 1659304800025, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>2</td>\n      <td>[{'aid': 763743, 'ts': 1659304800038, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>3</td>\n      <td>[{'aid': 1425967, 'ts': 1659304800095, 'type':...</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>4</td>\n      <td>[{'aid': 613619, 'ts': 1659304800119, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>19995</th>\n      <td>19995</td>\n      <td>[{'aid': 1481519, 'ts': 1659305842045, 'type':...</td>\n    </tr>\n    <tr>\n      <th>19996</th>\n      <td>19996</td>\n      <td>[{'aid': 1109584, 'ts': 1659305842183, 'type':...</td>\n    </tr>\n    <tr>\n      <th>19997</th>\n      <td>19997</td>\n      <td>[{'aid': 1647277, 'ts': 1659305842315, 'type':...</td>\n    </tr>\n    <tr>\n      <th>19998</th>\n      <td>19998</td>\n      <td>[{'aid': 753948, 'ts': 1659305842328, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>19999</th>\n      <td>19999</td>\n      <td>[{'aid': 1690380, 'ts': 1659305842502, 'type':...</td>\n    </tr>\n  </tbody>\n</table>\n<p>20000 rows × 2 columns</p>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"train_data_chunk.iloc[112][\"events\"]","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:25:16.730273Z","iopub.execute_input":"2024-09-27T06:25:16.730674Z","iopub.status.idle":"2024-09-27T06:25:16.743265Z","shell.execute_reply.started":"2024-09-27T06:25:16.730635Z","shell.execute_reply":"2024-09-27T06:25:16.741906Z"},"trusted":true},"execution_count":9,"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":"[{'aid': 1556453, 'ts': 1659304801664, 'type': 'clicks'},\n {'aid': 1556453, 'ts': 1659304804055, 'type': 'carts'},\n {'aid': 1572879, 'ts': 1659304918252, 'type': 'clicks'},\n {'aid': 1374838, 'ts': 1659304929527, 'type': 'clicks'},\n {'aid': 1374838, 'ts': 1659304937453, 'type': 'clicks'},\n {'aid': 199865, 'ts': 1659304969527, 'type': 'clicks'},\n {'aid': 1567940, 'ts': 1659341229359, 'type': 'clicks'},\n {'aid': 51798, 'ts': 1659341236788, 'type': 'clicks'},\n {'aid': 693625, 'ts': 1659465963886, 'type': 'clicks'},\n {'aid': 693625, 'ts': 1659466437047, 'type': 'clicks'},\n {'aid': 1828810, 'ts': 1659466493303, 'type': 'clicks'},\n {'aid': 1014210, 'ts': 1659466552636, 'type': 'clicks'},\n {'aid': 1001000, 'ts': 1659466605871, 'type': 'clicks'},\n {'aid': 1528969, 'ts': 1659466620637, 'type': 'clicks'},\n {'aid': 500582, 'ts': 1659466664246, 'type': 'clicks'},\n {'aid': 28010, 'ts': 1659466683724, 'type': 'clicks'},\n {'aid': 1017261, 'ts': 1659466861733, 'type': 'clicks'},\n {'aid': 1545215, 'ts': 1659466913818, 'type': 'clicks'},\n {'aid': 1541287, 'ts': 1659466934282, 'type': 'clicks'},\n {'aid': 1545215, 'ts': 1659466934819, 'type': 'clicks'},\n {'aid': 1691830, 'ts': 1659466968786, 'type': 'clicks'},\n {'aid': 252772, 'ts': 1659467096498, 'type': 'clicks'}]"},"metadata":{}}]},{"cell_type":"code","source":"indices = [i for i in range(100)]\nrandom.shuffle(indices)\nindices = indices[:3]\nprint(f\"Chunks chosen: {indices}\")\n\nchunks_of_train = []\nfor idx, chunk in enumerate(train_data):\n    if idx in indices:\n        chunks_of_train.append(chunk)\n    if idx > max(indices):\n        break\n\nchunks_of_train = pd.concat(chunks_of_train)\nchunks_of_train","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:25:16.745904Z","iopub.execute_input":"2024-09-27T06:25:16.746713Z","iopub.status.idle":"2024-09-27T06:26:49.084177Z","shell.execute_reply.started":"2024-09-27T06:25:16.746669Z","shell.execute_reply":"2024-09-27T06:26:49.082679Z"},"trusted":true},"execution_count":10,"outputs":[{"name":"stdout","text":"Chunks chosen: [78, 6, 38]\n","output_type":"stream"},{"execution_count":10,"output_type":"execute_result","data":{"text/plain":"         session                                             events\n140000    140000  [{'aid': 74604, 'ts': 1659331568462, 'type': '...\n140001    140001  [{'aid': 1403292, 'ts': 1659331568555, 'type':...\n140002    140002  [{'aid': 722639, 'ts': 1659331568570, 'type': ...\n140003    140003  [{'aid': 180901, 'ts': 1659331568582, 'type': ...\n140004    140004  [{'aid': 912708, 'ts': 1659331568620, 'type': ...\n...          ...                                                ...\n1599995  1599995  [{'aid': 977011, 'ts': 1659442103862, 'type': ...\n1599996  1599996  [{'aid': 280287, 'ts': 1659442104093, 'type': ...\n1599997  1599997  [{'aid': 1245843, 'ts': 1659442104093, 'type':...\n1599998  1599998  [{'aid': 540323, 'ts': 1659442104166, 'type': ...\n1599999  1599999  [{'aid': 1282769, 'ts': 1659442104198, 'type':...\n\n[60000 rows x 2 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>session</th>\n      <th>events</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>140000</th>\n      <td>140000</td>\n      <td>[{'aid': 74604, 'ts': 1659331568462, 'type': '...</td>\n    </tr>\n    <tr>\n      <th>140001</th>\n      <td>140001</td>\n      <td>[{'aid': 1403292, 'ts': 1659331568555, 'type':...</td>\n    </tr>\n    <tr>\n      <th>140002</th>\n      <td>140002</td>\n      <td>[{'aid': 722639, 'ts': 1659331568570, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>140003</th>\n      <td>140003</td>\n      <td>[{'aid': 180901, 'ts': 1659331568582, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>140004</th>\n      <td>140004</td>\n      <td>[{'aid': 912708, 'ts': 1659331568620, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1599995</th>\n      <td>1599995</td>\n      <td>[{'aid': 977011, 'ts': 1659442103862, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>1599996</th>\n      <td>1599996</td>\n      <td>[{'aid': 280287, 'ts': 1659442104093, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>1599997</th>\n      <td>1599997</td>\n      <td>[{'aid': 1245843, 'ts': 1659442104093, 'type':...</td>\n    </tr>\n    <tr>\n      <th>1599998</th>\n      <td>1599998</td>\n      <td>[{'aid': 540323, 'ts': 1659442104166, 'type': ...</td>\n    </tr>\n    <tr>\n      <th>1599999</th>\n      <td>1599999</td>\n      <td>[{'aid': 1282769, 'ts': 1659442104198, 'type':...</td>\n    </tr>\n  </tbody>\n</table>\n<p>60000 rows × 2 columns</p>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"events_dict = {\n    \"session\": [],\n    \"aid\": [],\n    \"ts\": [],\n    \"type\": [],\n}\n\nfor _, row in chunks_of_train.iterrows():\n    for event in row[\"events\"]:\n        events_dict[\"session\"].append(row[\"session\"])\n        events_dict[\"aid\"].append(event[\"aid\"])\n        events_dict[\"ts\"].append(event[\"ts\"])\n        events_dict[\"type\"].append(event[\"type\"])\n\ntrain_part = pd.DataFrame(events_dict)\ntrain_part","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:26:49.085895Z","iopub.execute_input":"2024-09-27T06:26:49.086297Z","iopub.status.idle":"2024-09-27T06:27:17.138686Z","shell.execute_reply.started":"2024-09-27T06:26:49.086262Z","shell.execute_reply":"2024-09-27T06:27:17.137169Z"},"trusted":true},"execution_count":11,"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"         session      aid             ts    type\n0         140000    74604  1659331568462  clicks\n1         140000    74604  1659378358983  clicks\n2         140000    74604  1659378459339  clicks\n3         140000    74604  1659467339395  clicks\n4         140000    74604  1659672832139  clicks\n...          ...      ...            ...     ...\n2222552  1599999  1327159  1660746461924  clicks\n2222553  1599999  1327159  1660749968944  clicks\n2222554  1599999  1327159  1660750040593  clicks\n2222555  1599999  1327159  1660750145982  clicks\n2222556  1599999  1327159  1660817082424  clicks\n\n[2222557 rows x 4 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>session</th>\n      <th>aid</th>\n      <th>ts</th>\n      <th>type</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>140000</td>\n      <td>74604</td>\n      <td>1659331568462</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>140000</td>\n      <td>74604</td>\n      <td>1659378358983</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>140000</td>\n      <td>74604</td>\n      <td>1659378459339</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>140000</td>\n      <td>74604</td>\n      <td>1659467339395</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>140000</td>\n      <td>74604</td>\n      <td>1659672832139</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>2222552</th>\n      <td>1599999</td>\n      <td>1327159</td>\n      <td>1660746461924</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>2222553</th>\n      <td>1599999</td>\n      <td>1327159</td>\n      <td>1660749968944</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>2222554</th>\n      <td>1599999</td>\n      <td>1327159</td>\n      <td>1660750040593</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>2222555</th>\n      <td>1599999</td>\n      <td>1327159</td>\n      <td>1660750145982</td>\n      <td>clicks</td>\n    </tr>\n    <tr>\n      <th>2222556</th>\n      <td>1599999</td>\n      <td>1327159</td>\n      <td>1660817082424</td>\n      <td>clicks</td>\n    </tr>\n  </tbody>\n</table>\n<p>2222557 rows × 4 columns</p>\n</div>"},"metadata":{}}]},{"cell_type":"markdown","source":"Calculate the number of sessions and events ","metadata":{}},{"cell_type":"code","source":"n_sessions = train_part[\"session\"].nunique()\nn_events = train_part.shape[0]\n\nprint(f\"Number of sessions: {n_sessions}\")\nprint(f\"Number of events: {n_events}\")\nprint(f\"Mean number of events in session: {n_events/n_sessions}\")","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:17.140705Z","iopub.execute_input":"2024-09-27T06:27:17.141263Z","iopub.status.idle":"2024-09-27T06:27:17.173508Z","shell.execute_reply.started":"2024-09-27T06:27:17.141201Z","shell.execute_reply":"2024-09-27T06:27:17.17189Z"},"trusted":true},"execution_count":12,"outputs":[{"name":"stdout","text":"Number of sessions: 60000\nNumber of events: 2222557\nMean number of events in session: 37.04261666666667\n","output_type":"stream"}]},{"cell_type":"markdown","source":"Relation of the number of sessions and events \n","metadata":{}},{"cell_type":"code","source":"events_in_session = train_part.groupby(['session'])['aid'].count().sort_values(ascending=False)\n\nfig, ax = plt.subplots(ncols=2, figsize=(16, 9))\nsns.distplot(x=events_in_session.values, ax=ax[0], bins=30, kde=False)\nax[0].set_title('Article frequency', fontsize=12)\nax[0].set_ylabel('N of article', fontsize=12)\nax[0].set_xlabel('Frequency', fontsize=12)\n\nsns.distplot(x=events_in_session.values, ax=ax[1], bins=30, kde=False)\nax[1].set_title('Article frequency (limited to 500)', fontsize=12)\nax[1].set_ylabel('N of articles', fontsize=12)\nax[1].set_xlabel('Frequency', fontsize=12)\nax[1].set_ylim(0, 500)\n\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:17.175063Z","iopub.execute_input":"2024-09-27T06:27:17.175435Z","iopub.status.idle":"2024-09-27T06:27:18.334925Z","shell.execute_reply.started":"2024-09-27T06:27:17.175404Z","shell.execute_reply":"2024-09-27T06:27:18.333457Z"},"trusted":true},"execution_count":13,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1152x648 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAA8YAAAIpCAYAAABg9CEiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABUlElEQVR4nO39e3wU5f3//z8nGxIIhywg2YhGPgVRrCKgIEaQSOgmQAgECG218pZURIGKQEvfHN4CAuKhVFD0866U1i8e6gEkwRJakKAEFEQqmGrF4iEShOxCzMEAOW3m9wc/9mNKgN0cdpPM4367ebsl114z85pLwsUzM9eMYZqmKQAAAAAALCok2AUAAAAAABBMBGMAAAAAgKURjAEAAAAAlkYwBgAAAABYGsEYAAAAAGBpBGMAAAAAgKURjIEmLikpSR988MEl+1177bX65ptv6nSMlStXauDAgRo0aFCdtgcAwB/MbY2voqJCI0eOlNvtliTNnTtXK1eulCTt379fiYmJddrvsWPH1K9fP3k8ngapc+PGjbrzzjsbZF+B9OCDD2rnzp3BLgMNiGAMNLKJEydqwIABqqiouGTfH05a52RmZmrgwIGNVZ6OHTumF154QVu2bNF7773XaMcBALQczG1N3+uvv67+/fsrKirqvM/69++vrVu31mm/Xbt21YEDB2Sz2SSd/bOwfv36etV6IUePHtW1116rqqqqem3fr18/73/PPfec9/OKigrNmzdPN910kwYNGqQXXnihxvZ79uzR8OHD1adPH02cOFHffvut97P77rtPTz/9dN1ODE0SwRhoREePHtX+/ftlGIaysrIu2rehfvPqr2PHjslut6tz5861fl7XyQgA0DIxtzUPr732msaMGRPsMpqEDz/8UAcOHNCBAwc0ffp0b/vq1av1zTff6J133tGLL76otWvXKjs7W5L03Xff6Ve/+pUeeugh7du3TzfccINmzZrl3fbGG29UaWmp/vnPfwb8fNA4CMZAI8rIyFCfPn00duxYZWRk1Phs7ty5WrRoke677z717dtXGzZs0F//+lf96U9/Ur9+/fTAAw9IkuLj4/X+++9LOvsPjD/84Q/6yU9+on79+mncuHE6fvz4ecetqKjQE088oTvuuEO33XabFi5cqLKysvP6vf/++/rlL38pt9utfv36ae7cud7frq5fv1533HGH7rnnHknShg0bNGLECA0YMED33ntvjd+avvfeexo+fLhuvvlmLVmyRHfffbf3t8erV6/Wb37zG2/f//zt7/fff6/58+dr8ODBuv3227Vy5UrvP6TO3V71xBNPaMCAAYqPj69x21JRUZHmzZunwYMHa8CAAZo2bZokadSoUdqxY4e3X2VlpQYOHKh//etfPv6fAwBcCHNb05/bjh07pry8PPXp06fW/4cffPCBhgwZ4v0+Pj5ea9euVXJysvr27av58+fr5MmTmjx5svr166dJkyapuLj4vHNduXKl9u/fryVLlqhfv35asmSJJOnLL79UWlqabrnlFiUmJmrLli3eYxUWFuqBBx7QTTfdpNTUVB05cqTWGiXp7rvvliQNGDBA/fr104EDB1RdXa3/+3//r4YOHarY2Fj99re/1ffff3/BfVxMenq6pk2bpsjISPXo0UMTJkxQenq6JOntt99Wz549NWLECIWHh+vBBx/UoUOH9OWXX3q3v+WWW7idugUhGAONaNOmTUpOTlZycrJ2796tkydP1vh88+bNeuCBB/TRRx8pJSVFycnJuvfee3XgwAH94Q9/OG9/L7zwgjIzM7VmzRp99NFHWr58uVq3bn1evxUrVujrr79WRkaGtm3bJrfbXePWoXNuu+02/fGPf1RUVJQOHDigxx9/3PvZhx9+qC1btuhPf/qTtm/frueff17PPvus9uzZo5tvvlm//vWvJf2/36jOnDlTe/fu1VVXXaWPPvrI5zGaO3euQkNDtW3bNmVkZOi9996rcUtWTk6OfvSjH2nv3r2aPHmyFixYINM0JUm//e1vdebMGWVmZur999/XpEmTJEljxozRW2+95d3Hzp07FRUVpR//+Mc+1wUAqB1z26UFe27797//rZiYGIWGhvpc87Zt2/TCCy9o69ateuedd3Tfffdp9uzZ2rt3r6qrq/XSSy+dt82sWbPUv39/LVy4UAcOHNDChQt1+vRp/fKXv9SoUaP0/vvva+XKlXrkkUf0xRdfSJKWLFmi8PBw7d69W8uXL9ebb755wZpefvllSf/vim+/fv20ceNGpaen68UXX9T27dt1+vRpbyC/kKFDh2rIkCGaN2+evvvuO0lScXGxTpw4oV69enn79erVy1vn4cOHde2113o/i4iI0FVXXeX9XJJ69OihQ4cOXWpo0UwQjIFGsn//fh07dkwjRozQDTfcoJiYGG3evLlGn2HDhunmm29WSEiIwsPDL7nP9evX66GHHlL37t1lGIZ69eqljh071uhjmqbeeOMNzZ8/X3a7Xe3atdP999+vzMxMv+p/8MEHFRERodatW+u1117TlClT1KNHD4WGhuqBBx7QZ599pm+//VbZ2dnq2bOnhg8frlatWumee+7RZZdd5tMxTp48qZ07d2r+/PmKiIhQ586dNWnSpBq1du3aVT/96U9ls9k0duxYnThxQidPnpTb7VZ2drYeeeQRRUZGqlWrVrrlllskSaNHj9bOnTtVWloqSXrrrbc0evRov84fAHA+5rZLawpzW0lJidq2bevX2Nx999267LLL5HA41L9/f91444368Y9/rPDwcDmdTp/vunr33Xd1xRVXaPz48QoNDdWPf/xjJSYm6u9//7s8Ho+2bdumGTNmKCIiQtdcc43Gjh3rV51//etfNWnSJMXExKht27aaPXu2tmzZUuvt8R07dtSGDRv0zjvvaOPGjTp16pTmzJkjSTp9+rQkqX379t7+7du316lTp7yf//AzSWrXrp33c0lq27atSkpK/KofTZfvv0YC4JeMjAwNGjRInTp1knT2Fqj09HTvb34l6fLLL/drn/n5+brqqqsu2ue7777TmTNnNG7cOG+baZqqrq7261jR0dHer48dO6bly5friSeeqLFPl8slt9tdo69hGD6f17Fjx1RVVaXBgwd726qrq2ts/8N/iLRp00bS2cmquLhYkZGRioyMPG+/DodDN910k7Zu3Sqn06ns7GwtWLDAp5oAABfG3HZpTWFui4yMrBHgfPHDmsLDw2t837p1a2+QvJRvv/1WOTk56t+/v7fN4/Fo9OjR+u6771RVVVVjLLp27epXnW63W1dccYX3+yuuuEJVVVUqKCiQw+Go0bdt27bq3bu39/wefvhhDR48WKWlpYqIiJAklZaWen+BU1pa6v2FQkREhPeXEOecOnWqxi8cTp06pQ4dOvhVP5ougjHQCMrKyvS3v/1N1dXV3tdEVFRUqKSkRIcOHapx284PGYZx0f1GR0fryJEjuuaaay7Yp2PHjmrdurUyMzPPmyD88cNaLr/8cj3wwAO1/mb6m2++UX5+vvd70zRrrA1r06ZNjTVgP7zlLjo6WmFhYdq7d69ft3ud27a4uFglJSW1Tkpjx47V+vXr5fF4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Sk1NVWVlpebPny9J+uijj9S9e/cgVwa0LGeqqrXnsO9r94f2ilJ4mK0RKwJwKT4F48WLF2vGjBlKSUnRgAEDJEkDBgzQ//zP/zRqcQAAoOFMmTJFTqdTNptNV111lSTJ4XBo2bJlQa4MAIDg8unhW1988YXGjBkj6eytIdLZW6jLy8sbrzIAANDgrrzySrndbm3ZskXS2WAcExMT5KoAAAgun4LxFVdcoU8++aRGW05Ojve3zQAAoOn7/PPPlZiYqP/5n//RggULJEkffvih97ZqAACsyqdg/NBDD+n+++/XM888o8rKSj3//PN66KGHNHPmzEYuDwAANJRzS6P+/ve/KzT07GqqAQMG6B//+EeQKwMAILh8CsZDhw7V2rVr9d1332nAgAH69ttvtXr1ag0ePLix6wMAAA2EpVEAANTO59c1/fjHP9bixYsbsRQAANCYzi2N6t27t7eNpVEAAFwkGD/99NM+7eChhx5qsGIAAEDjObc06uc//7l3adRrr72mpUuXBrs0AACC6oLBOD8/P5B1AACARnZuadQbb7xRY2nUDTfcEOzSAAAIqgsG48ceeyyQdQAAgABgaRQAAOfzaY1xRkaGevXqpV69ennbDh06pEOHDiklJaWxagMAAPXE0igAAC7Np6dSP/3007r88strtEVHR/s82R4/flwTJ07UyJEjlZSUpHXr1kmSioqKlJaWpoSEBKWlpam4uFiSZJqmli1bJqfTqeTkZH366afefaWnpyshIUEJCQlKT0/3tn/yySdKTk6W0+nUsmXLZJqmT7UBANCS5efn+/QfAABW5tMV49LSUrVr165GW/v27VVSUuLTQWw2m+bOnavrr79epaWlGj9+vAYNGqSNGzcqNjZWU6ZM0Zo1a7RmzRrNmTNH2dnZys3N1bZt2/Txxx9r8eLFWr9+vYqKivTss8/qzTfflGEYGjdunOLj4xUZGanFixdr6dKl6tOnj+677z5lZ2crLi7O/xEBAKAFYWkUAACX5tMV4x49emjr1q012t5++2316NHDp4NERUXp+uuvlyS1a9dO3bt3l8vlUlZWlvdW7JSUFG3fvl2SvO2GYahv374qKSmR2+3W7t27NWjQINntdkVGRmrQoEHatWuX3G63SktL1bdvXxmGoZSUFGVlZfk6BgAAWEJGRoYOHTpUo+3QoUPKyMgITkEAADQR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gwUAQAAwNwPND8EYaAG2b9+uN954Q1u2bNG//vUvzZ8/X0uWLNEHH3ygn/3sZ5o2bZoqKipUUVGh6dOna8yYMdq3b5+GDx+ubdu2+XycFStW6Ouvv1ZGRoa2bdsmt9ut5557zvv5yZMn9f333ys7O1uPPvqolixZouLiYknSE088oU8//VSvvfaa9u3bpzlz5igkJEQpKSl66623vPs4dOiQ3G634uLiGm6AAAAIMOZmoHkhGAPNzPTp09W/f3/1799f06ZNkyRNmTJFdrtdrVu31uuvv66f/exn6tOnj2w2m8aOHatWrVrp4MGD+vjjj1VZWal77rlHrVq10vDhw9W7d2+fjmuapt544w3Nnz9fdrtd7dq10/3336/MzExvn9DQUE2fPl2tWrVSXFycIiIi9PXXX6u6ulpvvvmmFixYIIfDIZvNpptuuklhYWEaNmyYcnNzlZubK0natGmTRowYobCwsAYfOwAAGgNzM9D8seABaGaee+65GuuYrr32Wl1++eXe748dO6aMjAy9/PLL3rbKykq53W4ZhiGHwyHDMLyfde3a1afjfvfddzpz5ozGjRvnbTNNU9XV1d7v7XZ7jXVUbdq00enTp1VYWKjy8nLFxMSct9/w8HCNGDFCb731ln71q19p8+bNeuaZZ3yqCQCApoC5GWj+CMZAC/DDyfTyyy/XAw88oKlTp57Xb9++fXK5XDJN07vNsWPHvJNimzZtvOuSJOnEiRPerzt27KjWrVsrMzPT7ydtduzYUeHh4crLy1OvXr3O+3zs2LH67W9/q5tvvllt2rRRv379/No/AABNDXMz0LxwKzXQwkyYMEGvvfaaPv74Y5mmqdOnT+vdd99VaWmp+vbtq9DQUL344ouqrKzUtm3b9M9//tO7ba9evXT48GF99tlnKi8v1+rVq72fhYSEaMKECVq+fLkKCgokSS6XS7t27bpkTSEhIRo/frwee+wxuVwueTweHThwQBUVFZKkfv36KSQkRI8//rhGjx7dwCMCAEBwMTcDTR/BGGhhevfuraVLl2rJkiUaMGCAEhIStHHjRklSWFiYVq9erfT0dN1yyy3asmWLnE6nd9sf/ehHmj59uiZNmqSEhATdfPPNNfY9Z84cdevWTT/96U910003adKkSfr66699quu///u/dc011yg1NVW33HKLVqxYUeNWrzFjxujf//63xowZ0wCjAABA08HcDDR9hmmaZrCLABA8c+fOlcPh0KxZs4JaR0ZGhl5//XW9+uqrQa0DAIBgY24GAo8rxgCC7syZM/rLX/6in/3sZ8EuBQAAiLkZ1kMwBhBUu3btUmxsrDp37qxRo0YFuxwAACyPuRlWxK3UAAAAAABL44oxAAAAAMDSCMYAAAAAAEsjGAMAAAAALI1gDAAAAACwNIIxAAAAAMDSCMYAAAAAAEv7/wE/rtb61yuQ+QAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"markdown","source":"Now, compare the every type of events  ","metadata":{}},{"cell_type":"code","source":"events_types = train_part.groupby(['type'])['type'].count().sort_values(ascending=False)\nfig, ax = plt.subplots(figsize=(16, 9))\nsns.barplot(x=events_types.index, y=events_types.values, ax=ax)\nax.set_title('Event types frequency', fontsize=12)\nax.set_ylabel('Frequency', fontsize=12)\nax.set_xlabel('Types', fontsize=12)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:18.336532Z","iopub.execute_input":"2024-09-27T06:27:18.336983Z","iopub.status.idle":"2024-09-27T06:27:19.261414Z","shell.execute_reply.started":"2024-09-27T06:27:18.336942Z","shell.execute_reply":"2024-09-27T06:27:19.260176Z"},"trusted":true},"execution_count":14,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1152x648 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAA7kAAAIpCAYAAABntv83AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5s0lEQVR4nO3df5RVdb3/8dcwOAL+YJDggIneMsxSRBRQQ7EGEQWVRNC8lX1L80ekpH0NqSRF83bTrpqaZnpNs/RmoZKUGfgDsMIklSx/pDd/kDKggL8QB4bz/cPl+TahOQhzBraPx1quNWfvfWa/D7XOmufszz5TUy6XywEAAIAC6NDeAwAAAMD6InIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQDwLlAulzNp0qQMGjQoY8eObe9xAKDNdGzvAQDgnWpoaMhzzz2X2trayrZDDz00kydPbrNzzp07N6eeempmzZr1lsecdtppKZVKOfnkk9tsjrU1b9683H333bnrrrvSpUuX9h4HANqMyAVgo3bZZZflIx/5SHuPscH7+9//nve+971vGbirVq1Kx45+LABg42e5MgCF09TUlIEDB+bRRx+tbFuyZEl22WWXPP/880mSO+64I6NHj87AgQPziU98Ig8//HDl2IaGhlx55ZU5+OCDs/vuu+dLX/pSXnvttSxfvjyf//zns2jRogwYMCADBgxIY2Nji3P/z//8T37xi1/kyiuvzIABA3L88cfniiuuyIknntjiuLPPPjtnn312kuTTn/50vvOd72Ts2LHZbbfdcsIJJ2TZsmWVY++///584hOfyMCBA3PIIYdk7ty5lX1Tp07NsGHDMmDAgDQ0NGTatGlr/HvccMMN+frXv577778/AwYMyHe/+93MnTs3Q4cOzeWXX54hQ4Zk0qRJWb16dS6//PLst99+2WOPPTJhwoQWc9x000352Mc+lj322COXXnppGhoa8tvf/jbJ61evzz///Mqxb3z/NzQ2NubEE0/MnnvumYaGhlxzzTWVfRdddFEmTJiQr3zlKxkwYEBGjRqVP/3pT5X9zz77bL74xS9mzz33zB577JEpU6akqakpgwcPziOPPFI57vnnn0///v2zZMmSNf4NAHj3ELkAFE5dXV2GDx+e6dOnV7b96le/yqBBg9K9e/f85S9/yVe/+tVMmTIlc+fOzRFHHJEvfOELaWpqanH8FVdckZkzZ+aRRx7J1KlT06VLl/zgBz9Iz549c9999+W+++5LqVRqce4jjjgiBx98cI4++ujcd999ueyyy3LIIYdk9uzZefHFF5O8ftV0+vTp+fjHP1553k033ZRzzjknc+bMSceOHSsB3NjYmOOOOy4nnHBC7rnnnkycODEnnXRSlixZkuXLl+fss8/OD37wg9x33325/vrr86EPfWiNf49x48blzDPPzK677pr77rsvJ510UpLkueeeywsvvJA77rgjZ511Vn70ox9lxowZufbaazN79ux07do1U6ZMSZI89thjOfPMM/Ptb387s2fPzrJly7Jw4cJW/e+xevXqnHDCCfngBz+YWbNm5eqrr87VV1+d2bNnV465/fbbM2rUqNx7771paGjIWWedlSRpbm7Occcdl6233jq33357Zs2alZEjR6auri4jR45sEfW33HJL9tprr2y11VatmguAYip05E6aNCl77bVXDjrooFYd/8tf/jIjR47MqFGj8uUvf7mNpwNgfRg/fnwGDhxY+e+nP/1pkuTggw9uEbm/+MUvcvDBByd5/WrrEUcckf79+6e2tjaHHnpoNtlkk9x///2V4z/96U+nVCqlvr4+H/vYx/LQQw+94xl79uyZgQMH5tZbb02SzJ49O926dcvOO+9cOWb06NHZYYcd0qVLl0yYMCG33nprmpubc/PNN2fo0KHZd99906FDhwwZMiQ777xz7rrrriRJhw4d8te//jUrVqxIz54907dv31bP1aFDh5x00kmpq6tLp06dcv311+fkk09Or169UldXly9+8Yv59a9/nVWrVuXWW2/NRz/60QwaNCh1dXWZMGFCOnRo3Y8Rf/rTn7JkyZJ88YtfTF1dXfr06ZPDDz88v/zlLyvH7L777tl3331TW1ub0aNHV66sz58/P4sWLcpXvvKVdOnSJZtuumkGDhyY5PX7r6dPn55yuZwkufnmm3PIIYe0+vUDUEyFvvlmzJgx+dSnPpWJEye+7bFPPPFELr/88lx33XXp2rVrZTkbABu2Sy655E3vyd1jjz2yYsWKPPDAA+nevXsefvjh7LfffkmSZ555JjfddFOuvfbayvErV67MokWLKo979OhR+bpz584t9r0Thx56aK677rocfvjhmTZtWkaPHt1if+/evStfb7311lm5cmWWLl2aZ555JrfeemvuuOOOyv5Vq1Zljz32SJcuXXL++efnv//7v/O1r30tu+22WyZOnJjtt9++VTN169Ytm266aeXxM888k/Hjx7eI1w4dOuT555/PokWL0qtXr8r2Ll26pL6+vlXn+fvf/55FixZV4jR5/QrtPz5+z3veU/m6U6dOee2117Jq1ao8++yz2Xrrrd/0fuH+/funU6dOmTt3bnr06JGnnnoqw4YNa9VMABRXoSN30KBBWbBgQYttTz31VM4888wsXbo0nTp1yllnnZXtt98+P/3pT/PJT34yXbt2TZJ07969PUYGYD2pra3NAQcckFtuuSXvec978tGPfjSbb755kteD8vjjj88JJ5yw1t+3pqbmHR2z33775Ywzzsijjz6aO++8M6eeemqL/c8++2yLrzfZZJN069YtvXv3zujRoyvLl//ZPvvsk3322ScrVqzIBRdckNNPPz0/+clP3tFr6dWrV84555zsvvvuaxzbs2fPPP7445XHr776aov7dTt37pwVK1ZUHj/33HOVr3v37p1tttkmt912W6vm+ke9e/fOs88++5YfjHXooYdm2rRp6dGjR0aMGNEi2gF4dyr0cuU3c/rpp+f000/P1KlTM3HixJx55plJXr+S+7e//S2f+MQncvjhh//LPw0BwMbh4IMPzq9+9av84he/aHHryrhx43L99dfngQceSLlczvLly3PnnXfm5Zdfftvv2b179yxbtiwvvfTSvzzmn3/Juummm2bEiBH58pe/nH79+mXrrbdusX/atGl57LHH8uqrr+bCCy/MiBEjUltbm0MOOSR33HFHZs+enebm5rz22muZO3duFi5cmOeeey4zZszI8uXLU1dXly5durR6CfGbOfLII3PBBRfk73//e5LXP6xrxowZSZIRI0bkzjvvzL333pumpqZ897vfzerVqyvP/dCHPpS77rory5Yty+LFi3P11VdX9u2yyy7ZbLPNcvnll2fFihVpbm7Oo48+mvnz57/tTLvsskt69OiR73znO1m+fHlee+21zJs3r7L/kEMOyYwZMzJt2rQW9zgD8O71rorcV155Jffdd18mTJiQ0aNHZ/LkyVm8eHGS15dNPfnkk/nRj36U73znOzn99NMrHxACwIbr+OOPr3zS8YABAzJ+/PjKvv79+1eWGv/jJ/3269cvZ511VqZMmZJBgwZl//33z9SpU1t1vu233z6jRo3Kfvvtl4EDB67x6cpJMnbs2Dz22GMZOHBgvvCFL1S2f/zjH8+jjz66xlLl5PV7ck877bQMGTIkTU1N+drXvpbk9SuZ3/ve9/L9738/e+21V/bdd99ceeWVWb16dVavXp0f/vCH2WeffTJ48OD84Q9/yBlnnNHaf7o1HHXUUWloaMjnPve5DBgwIIcffnglRPv27ZvJkyfn//7f/5t99tknW265ZYvly6NHj86OO+5Yef7IkSMr+2pra3PZZZfl4YcfzrBhw7Lnnnvm61//eqt+qfDGc5988sl87GMfy9ChQ/OrX/2qsr9379758Ic/nJqamhbLnwF496opv/FpDQW1YMGCHH/88bnlllvy8ssv54ADDsicOXPWOG7y5Mnp379/DjvssCTJZz7zmXz5y1/OLrvsUu2RASioZ555JgceeGDuvvvuytLp5PUPuTrkkEMybty4dpxu7TU0NOTss89u979TPGnSpPTs2TMnn3xyu84BwIbhXXUld/PNN88222xT+Q1wuVyufHrjfvvtl3vuuSfJ68uznnjiifTp06fdZgWgWFavXp2rrroqI0eObBG4rJsFCxbkN7/5TcaOHdveowCwgSj0B0+dcsopueeee7J06dIMHTo0J554Ys4999ycccYZufTSS7Nq1aqMHDkyO+64Y/bZZ5/cfffdGTlyZGpra/OVr3wl3bp1a++XAEABLF++PEOGDMnWW2+dK664or3HKYwLLrggV199dY499li/mAagovDLlQEAAHj3eFctVwYAAKDYRC4AAACFUdh7clevXp3mZiuxAQAAimaTTWrfcl9hI7e5uZxly5a39xgAAACsZz16bPGW+yxXBgAAoDBELgAAAIUhcgEAACgMkQsAAEBhiFwAAAAKQ+QCAABQGCIXAACAwhC5AAAAFIbIBQAAoDBELgAAAIUhcgEAACgMkQsAAEBhiFwAAAAKQ+QCAABQGCIXAACAwhC5AAAAFIbIBQAAoDCqErnPPvtsPv3pT2fkyJEZNWpUrr766jWOKZfLOfvsszN8+PAcfPDB+fOf/1zZd+ONN2b//ffP/vvvnxtvvLEaIwMAALAR6liNk9TW1ua0007LTjvtlJdffjmHHXZYhgwZkg984AOVY2bNmpUnnngit912Wx544IGcccYZueGGG7Js2bJcfPHF+fnPf56ampqMGTMmDQ0N6dq1azVGBwAAYCNSlSu5PXv2zE477ZQk2XzzzfP+978/jY2NLY6ZOXNmPv7xj6empia77rprXnzxxSxatChz5szJkCFDUl9fn65du2bIkCGZPXt2NcYGAABgI1P1e3IXLFiQhx56KP3792+xvbGxMb169ao87tWrVxobG9fYXiqV1ghkAAAASKq0XPkNr7zySk466aR89atfzeabb96m56qtrUl9fZc2Pcc/W51yNt2kqv+kwDp6beWqdEhNe48BAMB6UrUiW7lyZU466aQcfPDB2X///dfYXyqVsnDhwsrjhQsXplQqpVQq5Z577qlsb2xszODBg9/2fM3N5Sxbtnz9DN9KPXpskd1Pvaaq5wTWzbxzj8rixS+19xgAAKyFHj22eMt9VVmuXC6X87WvfS3vf//789nPfvZNj2loaMhNN92Ucrmc+++/P1tssUV69uyZvffeO3PmzMkLL7yQF154IXPmzMnee+9djbEBAADYyFTlSu68efNy8803Z4cddsjo0aOTJKecckqeeeaZJMmRRx6ZfffdN3fddVeGDx+ezp0755xzzkmS1NfX5wtf+ELGjh2bJBk/fnzq6+urMTYAAAAbmZpyuVxu7yHawsqVzZYrA2/LcmUAgI1Puy9XBgAAgGoQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMLoWI2TTJo0KXfeeWe6d++eW265ZY39V1xxRX7xi18kSZqbm/P444/nd7/7Xerr69PQ0JDNNtssHTp0SG1tbaZOnVqNkQEAANgIVSVyx4wZk0996lOZOHHim+4/5phjcswx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1o9qv1cAALBu/lV7bTCfrvzwww/n61//er73ve+lW7dule2lUilJ0r179wwfPjzz589vrxEBAADYwG0QkfvMM8/kxBNPzLe//e28733vq2xfvnx5Xn755crXd999d/r27dteYwIAALCBq8py5VNOOSX33HNPli5dmqFDh+bEE0/MqlWrkiRHHnlkLrnkkixbtixnnnlmklT+VNDzzz+f8ePHJ0mam5tz0EEHrXG/LgAAALyhplwul9t7iLawcmVzu9yTu/up11T1nMC6mXfuUVm8+KX2HgMAgLWwUdyTCwAAAOtK5AIAAFAYIhcAAIDCELkAAAAUhsgFAACgMEQuAAAAhSFyAQAAKAyRCwAAQGGIXAAAAApD5AIAAFAYIhcAAIDCELkAAAAUhsgFAACgMEQuAAAAhdHqyJ0xY0ZWrVrVlrMAAADAOml15H73u9/N3nvvnSlTpuSBBx5oy5kAAADgHWl15E6bNi0//OEPs+mmm+bEE0/MiBEj8r3vfS8LFixoy/kAAACg1dbqntwdd9wxEydOzF133ZVvfOMbufXWWzN8+PB88pOfzLRp07J69eq2mhMAAADeVse1fcJTTz2VadOmZdq0aampqclJJ52U3r1758c//nFuu+22XHzxxW0xJwAAALytVkfuj3/849x888158sknc+CBB+bb3/52dt1118r+ESNG5CMf+UhbzAgAAACt0urInTVrVj772c9m2LBhqaurW2N/586dc9FFF63X4QAAAGBttDpyv/vd76ZDhw7ZZJNNKttWrlyZcrlcid699957/U8IAAAArdTqD5763Oc+lz//+c8ttv35z3/O0Ucfvd6HAgAAgHei1ZH7yCOPpH///i227bLLLnn44YfX+1AAAADwTrQ6crfccss899xzLbY999xz6dy583ofCgAAAN6JVkfu/vvvny9/+ct59NFH8+qrr+aRRx7JxIkTc+CBB7blfAAAANBqrY7ck08+Odtvv33GjRuX3XbbLUcccUTe97735ZRTTmnL+QAAAKDVasrlcnltnlAul7N06dJ069YtNTU1bTXXOlu5sjnLli2v6jl79Ngiu596TVXPCaybeecelcWLX2rvMQAAWAs9emzxlvta/SeEkuSll17K3/72t7zyyisttu+1117vbDIAAABYj1oduVOnTs2UKVPSpUuXdOrUqbK9pqYmM2fObJPhAAAAYG20OnLPP//8XHjhhdl3333bch4AAAB4x1r9wVPNzc3Ze++923IWAAAAWCetjtzPf/7zufTSS7N69eq2nAcAAADesVYvV/7hD3+Y5557LldccUXq6+tb7LvzzjvX81gAAACw9lodueeee25bzgEAAADrrNWRO3jw4LacAwAAANZZq+/JbWpqyvnnn59hw4Zl9913T5LMmTMn1157bZsNBwAAAGuj1ZF7zjnn5NFHH815552XmpqaJEnfvn1z3XXXtdlwAAAAsDZavVx5xowZue2229KlS5d06PB6G5dKpTQ2NrbZcAAAALA2Wn0ld5NNNklzc3OLbUuWLFnjk5YBAACgvbQ6cg844IBMnDgxTz/9dJJk0aJFmTJlSkaNGtVmwwEAAMDaaHXknnzyydlmm21yyCGH5MUXX8yIESPSs2fPjB8/vi3nAwAAgFarKZfL5bV90pIlS9KtW7fKB1BtiFaubM6yZcures4ePbbI7qdeU9VzAutm3rlHZfHil9p7DAAA1kKPHlu85b5Wf/DUG8uU3/DKK69Uvu7Tp887GAsAAADWr1ZH7vDhw1NTU5N/vPD7xpXchx56aP1PBgAAAGup1ZH78MMPt3i8ePHiXHzxxRk4cOB6HwoAAADeiVZ/8NQ/69GjR772ta/lv/7rv9bnPAAAAPCOvePITZL//d//zauvvrq+ZgEAAIB10urlyv/+7//e4tOUX3311Tz22GP+hBAAAAAbjFZH7rhx41o87ty5c3bcccf827/9W6ueP2nSpNx5553p3r17brnlljX2l8vlfPOb38xdd92VTp065Vvf+lZ22mmnJMmNN96YSy+9NElywgkn5NBDD23t2AAAALyLtDpy1zUsx4wZk0996lOZOHHim+6fNWtWnnjiidx222154IEHcsYZZ+SGG27IsmXLcvHFF+fnP/95ampqMmbMmDQ0NKRr167rNA8AAADF0+rIvfDCC1t13IQJE950+6BBg7JgwYK3fN7MmTPz8Y9/PDU1Ndl1113z4osvZtGiRbnnnnsyZMiQ1NfXJ0mGDBmS2bNn56CDDmrt6AAAALxLtDpyn3zyydx2223Zeeed8973vjfPPPNM/vSnP2X//ffPpptuus6DNDY2plevXpXHvXr1SmNj4xrbS6VSGhsb1/l8AAAAFE+rI7dcLuc73/lORowYUdl222235dZbb81//Md/tMlw66K2tib19V3aewxgI+C9AgCgOFodubNmzcp5553XYltDQ0MmTZq0XgYplUpZuHBh5fHChQtTKpVSKpVyzz33VLY3NjZm8ODBb/v9mpvLWbZs+XqZrbV69NiiqucD1o9qv1cAALBu/lV7tfrv5G633Xb58Y9/3GLbddddl2233fadT/YPGhoactNNN6VcLuf+++/PFltskZ49e2bvvffOnDlz8sILL+SFF17InDlzsvfee6+XcwIAAFAsrb6Se/bZZ+eLX/xirrjiisp9sR07dsxFF13Uquefcsopueeee7J06dIMHTo0J554YlatWpUkOfLII7PvvvvmrrvuyvDhw9O5c+ecc845SZL6+vp84QtfyNixY5Mk48ePr3wIFQAAAPyjmnK5XG7twStXrswDDzyQRYsWpUePHtl1112zySabtOV879jKlc3tslx591Ovqeo5gXUz79yjsnjxS+09BgAAa2G9LFf+Z4MGDcrKlSuzfLl72QAAANgwtHq58iOPPJITTjghdXV1aWxszMiRI/OHP/whN954Yy644II2HBEAAABap9VXcs8444ycdNJJufXWW9Ox4+ttPGjQoMybN6/NhgMAAIC10erIfeyxxzJ69OgkSU1NTZKkS5cuee2119pmMgAAAFhLrY7c9773vXnwwQdbbJs/f/56+xNCAAAAsK5afU/uhAkTctxxx+UTn/hEVq5cme9///u5/vrrc9ZZZ7XlfAAAANBqrb6S+7GPfSxXXHFFlixZkkGDBuXvf/97Lrroouy9995tOR8AAAC0Wquu5DY3N2fEiBH55S9/mTPOOKONRwIAAIB3plVXcmtra1NbW+tDpgAAANigtfqe3KOOOipf+tKXctxxx6VXr16VT1hOkj59+rTJcAAAALA23jZyFy9enB49elQ+YOq3v/1tyuVyZX9NTU0eeuihtpsQAAAAWultI3fEiBH54x//mIcffjhJMn78+FxyySVtPhgAAACsrbe9J/cfr9omyR/+8Ic2GwYAAADWxdtG7j/ee5usGb0AAACwoXjb5crNzc35/e9/X4nbf36cJHvttVfbTQgAAACt9LaR271793z1q1+tPK6vr2/xuKamJjNnzmyb6QAAAGAtvG3k3n777dWYAwAAANbZ296TCwAAABsLkQsAAEBhiFwAAAAKQ+QCAABQGCIX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AAAKQ+QCAABQGCIXAACAwhC5AAAAFIbIBQAAoDBELgAAAIUhcgEAACgMkQsAAEBhiFwAAAAKQ+QCAABQGCIXAACAwhC5AAAAFIbIBQAAoDBELgAAAIUhcgEAACgMkQsAAEBhiFwAAAAKQ+QCAABQGCIXAACAwhC5AAAAFIbIBQAAoDBELgAAAIUhcgEAACiMjtU60axZs/LNb34zq1evzrhx43Lssce22H/VVVflhhtuSG1tbbbaaqucc845ee9735sk+dCHPpQddtghSdK7d+9cdtll1RobAACAjUhVIre5uTlTpkzJVVddlVKplLFjx6ahoSEf+MAHKsd86EMfys9//vN07tw5P/nJT3LuuefmggsuSJJ06tQpN998czVGBQAAYCNWleXK8+fPz3bbbZc+ffqkrq4uo0aNysyZM1scs+eee6Zz585Jkl133TULFy6sxmgAAAAUSFUit7GxMb169ao8LpVKaWxsfMvjf/azn2Xo0KGVx6+99lrGjBmTww8/PDNmzGjTWQEAANh4Ve2e3Na6+eab8+CDD+baa6+tbLvjjjtSKpXy9NNP5zOf+Ux22GGHbLvttv/y+9TW1qS+vktbjwsUgPcKAIDiqErklkqlFsuPGxsbUyqV1jjut7/9bS677LJce+21qaura/H8JOnTp08GDx6cv/zlL28buc3N5Sxbtnw9vYLW6dFji6qeD1g/qv1eAQDAuvlX7VWV5cr9+vXLE088kaeffjpNTU2ZPn16GhoaWhzzl7/8JZMnT86ll16a7t27V7a/8MILaWpqSpIsWbIkf/zjH1t8YBUAAAC8oSpXcjt27JjJkyfnmGOOSXNzcw477LD07ds3F154YXbeeecMGzYs3/72t7N8+fJMmDAhyf//U0GPP/54vvGNb6Smpiblcjmf//znRS4AAABvqqZcLpfbe4i2sHJlc7ssV9791Guqek5g3cw796gsXvxSe48BAMBaaPflygAAAFANIhcAAIDCELkAAAAUhsgFAACgMEQuAAAAhSFyAQAAKAyRCwAAQGGIXAAAAApD5AIAAFAYIhcAAIDCELkAAAAUhsgFAACgMEQuAAAAhdGxvQcAoHq26rpJaus6tfcYwFpoblqRJS+sbO8xADYaIhfgXaS2rlOemtKvvccA1sK2k/+UROQCtJblygAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYYhcAAAACkPkAgAAUBgiFwAAgMIQuQAAABSGyAUAAKAwOrb3AAAA8IbNu26SznWd2nsMYC282rQiL7+wsr3HqBC5AABsMDrXdcqQi4a09xjAWrj7xLvzcjacyLVcGQAAgMIQuQAAABSGyAUAAKAwRC4AAACFIXIBAAAoDJELAABAYVQtcmfNmpURI0Zk+PDhufzyy9fY39TUlC996UsZPnx4xo0blwULFlT2ff/738/w4cMzYsSIzJ49u1ojAwAAsJGpSuQ2NzdnypQpueKKKzJ9+vTccssteeyxx1occ8MNN2TLLbfMb37zm/yf//N/ct555yVJHnvssUyfPj3Tp0/PFVdckTPPPDPNzc3VGBsAAICNTFUid/78+dluu+3Sp0+f1NXVZdSoUZk5c2aLY26//fYceuihSZIRI0bkd7/7XcrlcmbOnJlRo0alrq4uffr0yXbbbZf58+dXY2wAAAA2MlWJ3MbGxvTq1avyuFQqpbGxcY1jevfunSTp2LFjtthiiyxdurRVzwUAAIAk6djeA7SVTTapTY8eW1T9vPPOParq5wTWTXu8V7SnbSf/qb1HANbSu+196u4T727vEYC1tCG9T1XlSm6pVMrChQsrjxsbG1MqldY45tlnn02SrFq1Ki+99FK6devWqucCAABAUqXI7devX5544ok8/fTTaWpqyvTp09PQ0NDimIaGhtx4441Jkl//+tfZc889U1NTk4aGhkyfPj1NTU15+umn88QTT2SXXXapxtgAAABsZKqyXLljx46ZPHlyjjnmmDQ3N+ewww5L3759c+GFF2bnnXfOsGHDMnbs2Jx66qkZPnx4unbtmvPPPz9J0rdv3xx44IEZOXJkamtrM3ny5NTW1lZjbAAAADYyNeVyudzeQwAAAMD6UJXlygAAAFANIhcAAIDCELmQ5KKLLsqVV16ZJLnwwgvz29/+9i2PnTp1aqZMmVKt0QDW2kMPPZS77rqrvccAaPEzFlRLYf9OLrxTEyZMaO8RAN6xVatW5aGHHsqDDz6Yfffdt73HAd5FyuVyyuVyOnR459fRVq1alY4dJQrrxv+DeFe66aabcuWVV6ampiYf/OAHs+2221b2nXbaafnoRz+aAw44IPPnz88555yT5cuXp66uLj/84Q9bfJ8777wzl156aS699NLMnTs3l1xySTp06JAtttgiP/7xj6v8qoCi+ef3qgMPPDCXXnppVq5cmfr6+px33nl5z3vek4suuihPPfVUnn766Wy99db54x//mBUrVmTevHk57rjj8p73vCff/OY3kyQ1NTW59tprs/nmm7fzqwM2RldddVV+/vOfJ0nGjh2b/fbbL0cffXT69++fP//5z7n88sszbdq03HTTTdlqq63Su3fv7LTTTkmSp556KmeeeWaWLl2aTp065ayzzsr222+f0047LXV1dXnooYey2267ZdiwYd6zWCcil3edv/71r7n00ktz3XXXZauttsqyZcvyox/9aI3jmpqacvLJJ+f888/PLrvskpdffjmdOnWq7P/Nb36Tq666Kpdffnm6du2a733ve7nyyitTKpXy4osvVvMlAQX0Zu9VNTU1+elPf5qamprccMMNueKKK3LaaaclSR5//PH85Cc/SadOnTJ16tQ8+OCDmTx5cpLk+OOPz+TJk7P77rvnlVdeyaabbtqeLw3YSD344IOZOnVqfvrTn6ZcLufwww/P4MGD8+STT+Y///M/s+uuu+bBBx/ML3/5y9x0001pbm7OoYceWonc008/PWeeeWb+7d/+LQ888EDOPPPMXHPNNUmSxsbGXH/99amtrfWexToTubzr/P73v88BBxyQrbbaKklSX1//psf97W9/S48ePbLLLrskSYvfIP7+97/Pgw8+mP/+7/+ubB8wYEBOO+20HHjggRk+fHjbvgig8N7sveqRRx7JySefnMWLF6epqSnbbLNN5fiGhoYWv4j7R7vttlu+9a1v5eCDD87++++fzTbbrCqvASiWefPmZb/99kuXLl2SJMOHD8+9996brbfeOrvuumuS5N57781+++2Xzp07J3n9vSlJXnnlldx3330tbgtramqqfH3AAQektrY2ifcs1p0PnoJ3YNttt80rr7ySv/3tb5VtU6ZMyZe+9KU8++yzOeyww7J06dJ2nBAoorPPPjuf/OQn84tf/CJTpkxp8QPiGz9Qvpljjz02Z599dlasWJEjjzwyjz/+eDXGBd4l3ojef6VcLmfLLbfMzTffXPnvV7/6VWX/P76Hec9iXYlc3nX23HPP3HrrrZUIXbZs2Zse9773vS+LFy/O/PnzkyQvv/xyVq1alSTZeuut893vfjcTJ07MX//61ySv32fSv3//TJgwId26dcvChQvb/sUAhfVm71UvvfRSSqVSktfv130rm222WV555ZXK46eeeiof/OAHc+yxx6Zfv34tfkEH0FoDBw7MjBkz8uqrr2b58uWZMWNGBg4c2OKYQYMGZcaMGVmxYkVefvnl3HHHHUleXxG3zTbbVMK2XC7n4YcfftPzeM9iXVmuzLtO3759c/zxx+fTn/50OnTokA9/+MN573vfu8ZxdXV1Of/88yu/SezUqVOuuuqqyv7tt98+5513XiZMmJDLLrss3/72t/Pkk0+mXC5nzz33zI477ljNlwUUzJu9V33xi1/MhAkT0rVr1+yxxx5ZsGDBmz53jz32yOWXX57Ro0fnuOOOy7x58zJ37tzU1NSkb9++GTp0aJVfDVAEO+20U8aMGZNx48Ylef2Dp7bccss1jhk5cmRGjx6drbbaKv369avsO/fcc3PGGWfk0ksvzapVqzJy5Mg3/Xnp6quv9p7FOqkpl8vl9h4CAAAA1gfLlQEAACgMkQsAAEBhiFwAAAAKQ+QCAABQGCIXAACAwhC5AAAAFIa/kwsA7WzAgAGVr1999dXU1dWltrY2SXLmmWfmkEMOaa/RAGCj4+/kAsAGpKGhIWeffXY+8pGPtPcoALBRslwZADZATU1NGTx4cB555JHKtueffz79+/fPkiVLMnfu3AwdOjSXXXZZ9thjjzQ0NGTatGktnv+f//mf+ehHP5qPfOQjmTx5clasWJEkWbJkSY477rgMHDgwgwcPzr//+79n9erVVX+NANAWRC4AbIDq6uoycuTIFuF6yy23ZK+99spWW22VJHnuueeydOnSzJ49O9/61rcyefLk/O///m+S5Lzzzsvf/va33HTTTbntttuyaNGiXHLJJUmSq666KqVSKb/73e9y991355RTTklNTU31XyQAtAGRCwAbqEMPPTTTp0/PG3cW3XzzzWvcnzthwoTU1dVl8ODB2XffffOrX/0q5XI5P/3pT/PVr3419fX12XzzzXPcccdl+vTpSZKOHTtm8eLFeeaZZ7LJJptk4MCBIheAwvDBUwCwgerfv386deqUuXPnpkePHnnqqacybNiwyv4tt9wyXbp0qTzeeuuts2jRoixZsiSvvvpqxowZU9lXLpcrS5KPPvroXHzxxfnc5z6XJDniiCNy7LHHVulVAUDbErkAsAE79NBDM23atPTo0SMjRozIpptuWtn34osvZvny5ZXQffbZZ9O3b99069YtnTp1yvTp01Mqldb4nptvvnlOO+20nHbaaXn00Ufzmc98Jv369ctee+1VtdcFAG3FcmUA2IAdcsghmTFjRqZNm5aPf/zja+y/6KKL0tTUlHvvvTd33nlnDjjggHTo0CHjxo3LOeeck+effz5J0tjYmNmzZydJ7rjjjjz55JMpl8vZYostUltba7kyAIXhSi4AbMB69+6dD3/4w3nqqacycODAFvve8573ZMstt8w+++yTzp0754wzzsj222+fJDn11FNzySWX5PDDD8/SpUtTKpVy5JFHZp999smTTz6Zs846K0uWLMmWW26ZI488MnvuuWd7vDwAWO/8nVwA2MBNmjQpPXv2zMknn1zZNnfu3Jx66qmZNWtWO04GABseV3IBYAO2YMGC/OY3v8mNN97Y3qMAwEbBPbkAsIG64IILcvDBB+foo49Onz592nscANgoWK4MAABAYbiSCwAAQGGIXAAAAApD5AIAAFAYIhcAAIDCELkAAAAUhsgFAACgMP4foKey7k6or+gAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"markdown","source":"Clicks occured much more often, then carts and orders. But this events are more important to predict due to competition metric","metadata":{}},{"cell_type":"code","source":"def count_seconds(x):\n    max_value = int(x.max())\n    min_value = int(x.min())\n    session_time = timedelta(microseconds=max_value - min_value)\n    return session_time.total_seconds() / 60 ","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:19.263089Z","iopub.execute_input":"2024-09-27T06:27:19.263499Z","iopub.status.idle":"2024-09-27T06:27:19.27016Z","shell.execute_reply.started":"2024-09-27T06:27:19.263463Z","shell.execute_reply":"2024-09-27T06:27:19.268792Z"},"trusted":true},"execution_count":15,"outputs":[]},{"cell_type":"code","source":"time_counts = train_part.groupby(['session'])['ts'].apply(count_seconds)\nfig, ax = plt.subplots(figsize=(16, 9))\nsns.distplot(x=time_counts.values, ax=ax, bins=30, kde=False)\nax.set_title('Length of each session', fontsize=12)\nax.set_ylabel('Frequency', fontsize=12)\nax.set_xlabel('Minutes', fontsize=12)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:19.273988Z","iopub.execute_input":"2024-09-27T06:27:19.274415Z","iopub.status.idle":"2024-09-27T06:27:26.602296Z","shell.execute_reply.started":"2024-09-27T06:27:19.274375Z","shell.execute_reply":"2024-09-27T06:27:26.600854Z"},"trusted":true},"execution_count":16,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1152x648 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAA8IAAAIpCAYAAABpH4FYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAA9IElEQVR4nO3de5yVdb0v8M9iAIUERggGRXN3sfRYouWNJE0MRkUSE45ddheqYyWliNudl50aKttTmpSWR6J075PdREETUxQVNK/VVsrUIsMNIjOpXEQuMwzr/OHLOZKYo82steB5v18vXy/Wb631/L7PfNfzcj7z/J5nlcrlcjkAAABQEN2qXQAAAABUkiAMAABAoQjCAAAAFIogDAAAQKEIwgAAABSKIAwAAEChCMIA0IWWLl2ad73rXdm4cWOnbO+SSy7JgQcemIMPPrhTttcRI0aMyD333FOx+Tpq9OjRuf/++6tdBgBbIUEYgG1WNQJcV865bNmyXHnllbnpppvyq1/9qkvm2JrMmTMnBx54YLXLAGArJAgDwFZi2bJlqa+vz4ABA6pdCgBs1QRhAApn06ZNmT59ej70oQ/lwAMPzMknn5yVK1cm+f9LmWfNmpUPfvCDOfDAA3P55Ze3v3f9+vX56le/mv333z9HHnlkvv/97+eQQw5Jkpx22mlZtmxZvvjFL2bffffN97///fb3/eIXv9ji9v7W888/n3/913/NQQcdlMMOOyzf+973smnTptxzzz357Gc/m+bm5uy77745/fTTt/j+O+64I8ccc0z222+/fPSjH81jjz3W/txL+7zvvvvmqKOOyq233rrZe3/+85/nyCOPbH/+kUceaX/u0UcfzZgxY/K+970vkyZNyoYNG7Y4/5NPPpl//ud/zvve974ceOCBmTRpUvtzf/7znzNhwoQccMABaWxszE033dT+3Pz583PUUUdl3333zQc+8IH84Ac/SJI899xz+cIXvpD99tsvBxxwQD7+8Y9n06ZNSTY/+97S0pILLrggw4cPz/Dhw3PBBRekpaUlSXL//ffnkEMOyQ9/+MMMGzYsw4cPz7XXXvuqPQCgAMoAsI067LDDyr/61a9eMX7VVVeVx48fX3766afLGzZsKH/ta18rn3LKKeVyuVxesmRJ+Z3vfGf5rLPOKq9bt6786KOPlvfaa6/yokWLyuVyufzNb36z/IlPfKK8cuXK8tNPP10++uijyx/4wAdedc7X2t7fOu2008pf/OIXy88//3x5yZIl5VGjRpV//vOfl8vlcvm+++7bbK6/9cgjj5QPOuig8kMPPVTeuHFj+brrrisfdthh5Q0bNpTL5XL5pptuKi9fvrzc1tZWnjNnTnno0KHlpqam9ueGDx9efvjhh8ubNm0qL168uLx06dL2fTruuOPKy5cvL69YsaJ8xBFHlH/84x9vsYZTTjml/L3vfa/c1tZWXr9+ffnBBx8sl8vl8gsvvFA+5JBDyjNnziy3traWH3nkkfIBBxxQ/tOf/lQul8vlgw8+uP21K1euLP/+978vl8vl8kUXXVT+2te+Vm5paSm3tLSUH3zwwfKmTZte8bOeNm1aefz48eVnnnmm/Oyzz5aPP/748iWXXNL+c9tzzz3L06ZNK7e0tJTvvPPO8t57711euXLlq/4sAdi2OSMMQOH89Kc/zSmnnJLBgwenZ8+e+fKXv5xbbrllsxtaffnLX87222+fPfbYI3vssUf7mdVf/vKX+cIXvpB+/fpl8ODB+dSnPtWhOV9tey/X1taWm266Kaeeemp22GGH7LLLLpkwYUJuuOGGDs3xs5/9LMcff3yGDh2aurq6HHvssenRo0ceeuihJMmRRx6ZhoaGdOvWLUcddVR22223LFy4MEkyc+bMfP7zn8/ee++dUqmU3XbbLUOGDGnf9ic/+ck0NDSkvr4+hx12WB599NEt1tC9e/csW7Yszc3N2W677bLffvslSe68884MGTIkxx13XLp3757/8T/+RxobG3PzzTe3v2/RokVZs2ZN+vXrl7322qt9/K9//WuWLVuWHj16ZL/99kupVHrFvL/4xS8yceLEDBgwIP3798/EiRM3+7l17949EydOTI8ePXLooYemd+/e+ctf/tKhnysA257u1S4AACpt2bJlmThxYrp1+/9/D+7WrVueffbZ9sdvfvOb2//dq1evrF27NknS3NycnXbaqf25wYMHd2jOV9vey61YsSKtra3Zeeed28d23nnnNDU1dWiOZcuWZfbs2fnRj37UPtba2prm5uYkyezZs3PllVfmqaeeSpKsXbs2K1asSJI8/fTTectb3vKq2x44cOBm9b+0zb912mmn5dvf/nbGjRuXfv36ZcKECRk3blyeeuqpLFy4sD0YJy8G/w9/+MNJku985zu5/PLLc/HFF+dd73pXTj311Oy777753Oc+l8suuyyf/exnkyTHH398TjjhhFfM29zc/Iqf28trrK+vT/fu///XnlfrAQDFIAgDUDiDBw/O1KlT8773ve8Vzy1duvTvvnfgwIFZvnx53vGOdyRJli9f3ml17bjjjunRo0eWLVvWvv2nn346DQ0NHXr/TjvtlC9+8Yv50pe+9Irnnnrqqfzbv/1brrrqquy7776pq6vLMcccs9l7//u///sf3oeBAwfm/PPPT5L8+te/zoQJE7L//vtnp512yv77758rr7xyi+/be++9c/nll6e1tTVXX311Jk2alPnz52eHHXbI6aefntNPPz1//OMf8+lPfzrvec97MmzYsM3eP2jQoCxbtiy77757khd/boMGDfqH9weAbZOl0QBs01pbW7Nhw4b2/zZu3JiPfexjmTZtWvuZ0eeeey633XZbh7Z35JFH5oorrsiqVavS1NS02dnX5MUzv0uWLHlDtdbV1eWII47IJZdckjVr1uSpp57KlVde2X7W9LWMHz8+P/3pT/Pwww+nXC5n7dq1ufPOO7NmzZqsW7cupVIp/fv3T5Jce+21+dOf/tT+3nHjxuWHP/xhfv/736dcLufJJ59s//m8Hr/85S/b/zjQr1+/lEqldOvWLR/84AezePHizJ49O62trWltbc3ChQvz5z//OS0tLbnhhhvy/PPPp0ePHnnTm97Ufrb+jjvuyJNPPplyuZw+ffqkrq5ui0ujR48encsvvzzPPfdcnnvuuXz3u9/NmDFjXnf9ABSDM8IAbNP+dhntF7/4xZx88skpl8vtd2EeMGBAjjrqqHzoQx96ze1NnDgx55xzTg4//PAMHDgwY8aMyXXXXbfZfOeff36++c1v5ktf+lIaGxtfV71f+9rXct555+VDH/pQtttuu4wfPz7HHXdch977nve8J+edd16mTJmSJ598Mttvv33e+973Zr/99ss73vGOfPazn81HP/rRlEqljB07Nu9973vb33vkkUdm5cqVOfXUU9Pc3JwhQ4bkG9/4xmbXCXfE7373u0ydOjVr1qzJgAEDctZZZ2XXXXdNkvzgBz/IhRdemAsvvDDlcjnvete7csYZZyRJrr/++px33nlpa2vLW9/61nzzm99M8uJdqM8777w899xz6du3bz72sY/loIMOesW8J554Yl544YX2PxocccQROfHEE19X7QAUR6lcLperXQQAbK1+/OMf56abbnrFmWEAoHZZGg0Ar0Nzc3N+85vfZNOmTXniiSdy5ZVXduhMMgBQOyyNBoDXobW1Neecc06WLl2aPn36ZPTo0fn4xz9e7bIAgNfB0mgAAAAKxdJoAAAACkUQBgAAoFAKfY3wpk2b0tZWuyvD6+pKNV1fUelLbdKX2qQvtUdPapO+1CZ9qU36UptqsS/lcjk9e2458hY6CLe1lbNy5dpql/Gq6ut713R9RaUvtUlfapO+1B49qU36Upv0pTbpS22q1b4MHNhni+OWRgMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhVKRIHzGGWdk2LBhOfroo9vH/vf//t854ogjMmbMmEycODGrV69uf+6KK67IyJEj09jYmLvuuqt9fMGCBWlsbMzIkSMzffr09vElS5Zk/PjxGTlyZCZNmpSWlpZK7BYAAABboYoE4Y985COZMWPGZmMHH3xwbrzxxvziF7/IP/3TP+WKK65IkixatChz5szJnDlzMmPGjHz9619PW1tb2traMmXKlMyYMSNz5szJjTfemEWLFiVJLrroonzmM5/Jrbfemr59+2bmzJmV2C0AAAC2QhUJwvvvv3/69eu32djw4cPTvXv3JMk+++yT5cuXJ0nmzZuX0aNHp2fPntl1112z2267ZeHChVm4cGF222237LrrrunZs2dGjx6defPmpVwu57777ktjY2OS5Nhjj828efMqsVsAAABshbpXu4Akufbaa3PkkUcmSZqamjJ06ND25xoaGtLU1JQkGTx48GbjCxcuzIoVK9K3b9/2UD148OD217+WurpS6ut7d9ZudLq6um41XV9R6Utt0pfapC+1R09qk77UJn2pTfpSm7a2vlQ9CF9++eWpq6vLhz/84YrP3dZWzsqVays+b0fV1/eu6fqKSl9qk77UJn2pPXpSm/SlNulLbdKX2lSrfRk4sM8Wx6sahK+77rrceeedueqqq1IqlZK8eKb3pWXSyYtniBsaGpJki+M77rhjVq9enY0bN6Z79+5Zvnx5++u3dqvXt2ZFS1tF5urdoy7blSoyFQAA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qi6NHjp0aBobG3Pssceme/fu2XPPPXP88cfngx/8YE455ZRMmzYte+65Z8aPH58kGTduXE477bSMHDky/fr1yyWXXJIk2X333XPkkUfmqKOOSl1dXc4+++zU1dVVc9cAAACoUaVyuVyudhHV0traVpPr2F+yrtQtv3z4qYrMddgeg7JjT3886Ihavf6h6PSlNulL7dGT2qQvtUlfapO+1KZa7UtNXiMMAAAAlSYIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAogjAAAACFIggDAABQKIIwAAAAhSIIAwAAUCiCMAAAAIUiCAMAAFAoHQ7Ct912WzZu3NiVtQAAAECX63AQ/s53vpPhw4dnypQpefjhh7uyJgAAAOgyHQ7CN9xwQ6666qpst912+cpXvpLGxsZ873vfy9KlS7uyPgAAAOhUr+sa4T322CNf/epXM3/+/Jxzzjm5+eabM3LkyHziE5/IDTfckE2bNnVVnQAAANApur/eN/z3f/93brjhhtxwww0plUo56aSTstNOO+Xqq6/O3Llzc9lll3VFnQAAANApOhyEr7766lx//fV58sknc+SRR+Yb3/hG9tlnn/bnGxsb8/73v78ragQAAIBO0+EgvGDBgkyYMCGHH354evbs+Yrne/XqlUsvvbRTiwMAAIDO1uEg/J3vfCfdunVLjx492sdaW1tTLpfbg/Hw4cM7v0IAAADoRB2+WdZnP/vZPPLII5uNPfLII/nc5z7X6UUBAABAV+lwEH788cczdOjQzcb23nvvPPbYY51eFAAAAHSVDgfhvn375plnntls7JlnnkmvXr06vSgAAADoKh0OwqNGjcqpp56aP/7xj1m3bl0ef/zxfPWrX82RRx7ZlfUBAABAp+pwED7llFPy9re/PePHj8973/veHH/88XnrW9+ayZMnd2V9AAAA0Kk6fNfo7bbbLuecc07OPvvsrFixIjvuuGNKpVJX1gYAAACdrsNBOEmef/75/OUvf8kL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iu7VLgAA2LJjjjkm//zP/5ylS5fmmGOO+buvra+vT/fu//9/67169cratWvf0LzLli3L7Nmz86Mf/ah9rLW1Nc3NzTnggANy5pln5tJLL82iRYsyfPjwnH766X83pANArXFGGABq1JAhQ7LLLrtk/vz5GTVq1BveTq9evTa70dYzzzzzd1+/00475Ytf/GJ+/etft//38MMP5+ijj06SjBkzJj/5yU9yxx13pFQq5aKLLnrDtQFANQjCAFDDLrjggvzHf/xHevfu/Ya3seeee+bWW2/NunXr8uSTT2bmzJmbPf/mN785S5YsaX88fvz4/PSnP83DDz+ccrmctWvX5s4778yaNWvyxBNP5N57701LS0t69uyZ7bbbLt26+XUCgK2LpdEAUMM64/rbT3/60/nd736X97///XnXu96VMWPG5J577ml//stf/nJOP/30rF+/PlOmTMlRRx2V8847L1OmTMmTTz6Z7bffPu9973uz3377paWlJRdffHH+/Oc/p0ePHtl3330zZcqUf7hGAKikUrlcLle7CAAAAKgUa5kAAAAoFEEYAACAQhGEAQAAKBRBGAAAgEIRhAEAACgUQRgAAIBCEYQBAAAoFEEYAACAQhGEAQAAKJT/Bz+aZyq8gXaQAAAAAElFTkSuQmCC\n"},"metadata":{}}]},{"cell_type":"markdown","source":"Visualize the actions perform in each session","metadata":{}},{"cell_type":"code","source":"event_types_in_session = train_part.groupby(['session']).count()\nfig, ax = plt.subplots(figsize=(16, 9))\nsns.distplot(x=event_types_in_session.values, ax=ax, bins=50, kde=False)\nax.set_title('Number of actions', fontsize=12)\nax.set_ylabel('Frequency', fontsize=12)\nax.set_xlabel('Actions', fontsize=12)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:26.604262Z","iopub.execute_input":"2024-09-27T06:27:26.604678Z","iopub.status.idle":"2024-09-27T06:27:27.407702Z","shell.execute_reply.started":"2024-09-27T06:27:26.604639Z","shell.execute_reply":"2024-09-27T06:27:27.406291Z"},"trusted":true},"execution_count":17,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1152x648 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAA8IAAAIpCAYAAABpH4FYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAA1EUlEQVR4nO3deZSV9Z3n8c+1ykKIQAkNVaIMMxoTbRdwFAEhJmIXFUUSiHC6Z6J9JJtJVEQSOy7TqIj2ORNcY2YmHtKdZDrtRBhBIy4oRAsS4riEkBhJN8lgwECVC4uyFRQ1f3iskRi1hCrqyvN6/cV9bj3P/V79nVO8eZ7n3lJra2trAAAAoCAO6uoBAAAAYH8SwgAAABSKEAYAAKBQhDAAAACFIoQBAAAoFCEMAABAoQhhAOhiV155ZW699dYuee3W1tZcddVVGTp0aCZOnNiprzV9+vR8+9vf7tTXAID2EMIA8CdGjx6dESNGZOvWrW3b5syZkwsuuKALp+oczzzzTH7605/miSeeyNy5czvsuPfee2/+03/6T3tsmzFjRi6++OIOew0A2FtCGAD+jN27d+cHP/hBV4/xvrW0tLyvn3/xxRdzxBFHpEePHp00EQCUHyEMAH/G5z//+fzjP/5jNm/e/Lbn1q5dm49+9KPZtWtX27YLLrggc+bMSfLG2dC/+Zu/yU033ZRTTz01Z511Vp599tnce++9+fjHP54RI0Zk3rx5exxzw4YNmTx5ck4++eScf/75efHFF9ue+93vfpfJkyfntNNOS319fR588MG256688spce+21+eIXv5ghQ4bkySeffNu8jY2N+fKXv5zTTjstdXV1ueeee5K8cZb7v/yX/5Lly5fn5JNPzh133PG2ff/whz/kb//2bzNs2LAMGzYsX/va1/b4b7Ju3bpccsklGT58eIYNG5YZM2bkd7/7Xa699tq245566qlts771EvB77rkndXV1Oe200/LlL385jY2Nbc999KMfzd13350xY8bk1FNPzfXXX5/W1tYkyQsvvJDzzz8/p5xySoYNG5apU6f+mf+DAPDOhDAA/BknnHBCTjvttHz3u9/dq/1XrFiRj370o3nyySdz7rnnZtq0afnVr36VRx99NN/85jczY8aMbNmype3nf/zjH+erX/1qnnzyyRx77LH5+te/niTZunVrPve5z+Xcc8/Nz372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KuVDH/pQkmTXrl3ZtWtXSqVSfv7zn6e+vj5JMmHChLbf8YsXL86ECROSJPX19Vm2bFl8himdbf369Xn88cczceLEJG+cUbNGKXed8XteCJeBxsbG1NbWtj2uqalJY2NjF04E/98rr7yS/v37J0n69euXV155Jcnb121tba11y361du3aPP/88xk8eLB1StloaWnJpz/96Zx++uk5/fTTM3DgwPTq1SuVlW98Y+Vb12BjY2MOP/zwJG98DWTPnj2zYcOGLpudYrjppptyxRVX5KCD3siADRs2WKOUnc9//vP5zGc+kx/96EdJOufvowfM9wgDna9UKqVUKnX1GJAtW7ZkypQpufrqq3PooYfu8Zx1SleqqKjIfffdl82bN+fiiy/O73//+64eCdr85Cc/SZ8+fXLCCSfkySef7Opx4M+6++67U1NTk1deeSWTJ0/OUUcdtcfzHfV7XgiXgZqamqxfv77tcWNjY2pqarpwIvj/+vbtm6ampvTv3z9NTU3p06dPkrev2/Xr11u37Bc7d+7MlClTMm7cuIwZMyaJdUr56dWrV4YNG5bly5dn8+bN2bVrVyorK/dYgzU1NVm3bl1qa2uza9euvPbaaznssMO6eHIOZM8++2wWL16choaG7NixI6+//npuvPFGa5Sy8ub669u3b+rq6rJixYpO+T3v0ugycOKJJ2b16tVZs2ZNmpubs2DBgowePbqrx4Ikb3xy3/z585Mk8+fPz1lnnbXH9tbW1ixfvjw9e/Zsu2QFOktra2uuueaaHHXUUZk8eXLbduuUcvDqq69m8+bNSZLt27fnZz/7WY4++ugMGzYsjzzySJJk3rx5bb/jR48enXnz5iVJHnnkkQwfPtzVDHSqr33ta2loaMjixYtzyy23ZPjw4bn55putUcrG1q1b8/rrr7f9+ac//WmOOeaYTvk9X2p1x3tZeOKJJ3LTTTelpaUl5513Xr7yla909UgU0LRp0/J//s//yYYNG9K3b99ceuml+au/+qtMnTo169aty4ABA3Lbbbeluro6ra2tmTFjRpYsWZLu3bvnpptuyoknntjVb4ED3NNPP53Pfvaz+chHPtJ2f9u0adNy0kknWad0uZUrV+bKK69MS0tLWltb88lPfjKXXHJJ1qxZk8svvzybNm3Kcccdl1mzZqWqqio7duzIFVdckeeffz69e/fOrbfemoEDB3b126AgnnzyyfzjP/5jvvOd71ijlI01a9bk4osvTvLGZy6ce+65+cpXvpINGzZ0+O95IQwAAEChuDQaAACAQhHCAAAAFIoQBgAAoFCEMAAAAIUihAEAACgUIQwAB7Dp06fn29/+dlePAQBlxdcnAUAZu+CCC7Jy5cr89Kc/TVVV1bv+7L333ps5c+bk7rvv3k/TAcAHkzPCAFCm1q5dm6effjqlUimLFi3q6nEA4IAhhAGgTM2fPz+DBw/OhAkTMn/+/Lbt69atyyWXXJLhw4dn2LBhmTFjRn73u9/l2muvzfLly3PyySfn1FNPTZJceeWVufXWW9v2veeee1JXV5fTTjstX/7yl9PY2Nj23Ec/+tHcfffdGTNmTE499dRcf/31efPCsRdeeCHnn39+TjnllAwbNixTp07dL/8NAKAzCGEAKFP33Xdfxo0bl3HjxmXp0qV5+eWX09LSkosuuigDBgzI4sWL09DQkHPOOSdHH310rr/++gwZMiS/+MUv8vTTT7/teMuWLcvNN9+c2267LUuXLs0RRxyRadOm7fEzjz/+eObOnZv7778/Dz30UJYsWZIkuf322zNy5Mg89dRTaWhoyPnnn79f/hsAQGcQwgBQhp5++un88Y9/zNlnn50TTjghAwcOzAMPPJAVK1akqakpf/d3f5cePXqkW7dubWd/38uPf/zjnHfeeTn++ONTVVWVadOmZfny5Vm7dm3bz3zxi19Mr169MmDAgAwbNiwrV65MklRWVuaPf/xjmpqa3tdrAkA5EsIAUIbmz5+fkSNHpk+fPkmSc889N/Pmzcu6desyYMCAVFZWvu9jNjU15Ygjjmh7/KEPfSjV1dV7XB7dr1+/tj937949W7ZsSZJcccUVaW1tzcSJEzN27NjMnTt3b98aAHS59/9bFADoVNu3b89DDz2U3bt3Z+TIkUmS5ubmbN68OX/xF3+RdevWZdeuXW+L4VKp9K7H7d+/f1588cW2x1u3bs3GjRtTU1PznjP169cvM2fOTPLG2erJkydn6NChGTRo0Pt9ewDQ5ZwRBoAy89hjj6WioiILFizI/PnzM3/+/Dz44IM59dRT89hjj6Vfv365+eabs3Xr1uzYsSPPPPNMkqRv375pbGxMc3Pznz3uueeem3vvvTfPP/98mpubc8stt+Skk07KkUce+Z4zPfTQQ1m/fn2SpHfv3imVSjnoIH+NAOCDyRlhACgz8+bNy2c+85kMGDBgj+2f/exnc+ONN2bOnDmZOXNmzjzzzCTJuHHjcsopp2T48OH58Ic/nFGjRqVUKuXJJ5/cY//TTz89l112WS699NJs3rw5J5988h6fKP1ufvWrX+Wmm27K66+/nr59++aaa67JwIEDO+YNA8B+Vmp983sRAAAAoABc0wQAAEChCGEAAAAKRQgDAABQKEIYAACAQhHCAAAAFIoQBgAAoFCEMAAAAIUihAEAACgUIQwAAECh/D9orcP6Iq3j+QAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"code","source":"order_in_session = train_part.groupby(['session']).apply(lambda x: x['type'].eq(\"orders\").any())\norder_in_session","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:27.409791Z","iopub.execute_input":"2024-09-27T06:27:27.410335Z","iopub.status.idle":"2024-09-27T06:27:41.001905Z","shell.execute_reply.started":"2024-09-27T06:27:27.410286Z","shell.execute_reply":"2024-09-27T06:27:41.000618Z"},"trusted":true},"execution_count":18,"outputs":[{"execution_count":18,"output_type":"execute_result","data":{"text/plain":"session\n140000     False\n140001     False\n140002     False\n140003     False\n140004     False\n           ...  \n1599995     True\n1599996    False\n1599997     True\n1599998    False\n1599999    False\nLength: 60000, dtype: bool"},"metadata":{}}]},{"cell_type":"code","source":"combined_data = pd.concat([event_types_in_session[\"aid\"], time_counts, order_in_session], axis=1)\ncombined_data","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:41.003332Z","iopub.execute_input":"2024-09-27T06:27:41.003704Z","iopub.status.idle":"2024-09-27T06:27:41.024911Z","shell.execute_reply.started":"2024-09-27T06:27:41.003669Z","shell.execute_reply":"2024-09-27T06:27:41.023573Z"},"trusted":true},"execution_count":19,"outputs":[{"execution_count":19,"output_type":"execute_result","data":{"text/plain":"         aid         ts      0\nsession                       \n140000    18  38.260978  False\n140001     6   0.001498  False\n140002    31  37.179035  False\n140003     2  36.894448  False\n140004     8   4.471481  False\n...      ...        ...    ...\n1599995  416  30.036086   True\n1599996    5  32.225555  False\n1599997   96  35.049459   True\n1599998    4  27.956267  False\n1599999    6  22.916304  False\n\n[60000 rows x 3 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>aid</th>\n      <th>ts</th>\n      <th>0</th>\n    </tr>\n    <tr>\n      <th>session</th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>140000</th>\n      <td>18</td>\n      <td>38.260978</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>140001</th>\n      <td>6</td>\n      <td>0.001498</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>140002</th>\n      <td>31</td>\n      <td>37.179035</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>140003</th>\n      <td>2</td>\n      <td>36.894448</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>140004</th>\n      <td>8</td>\n      <td>4.471481</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1599995</th>\n      <td>416</td>\n      <td>30.036086</td>\n      <td>True</td>\n    </tr>\n    <tr>\n      <th>1599996</th>\n      <td>5</td>\n      <td>32.225555</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>1599997</th>\n      <td>96</td>\n      <td>35.049459</td>\n      <td>True</td>\n    </tr>\n    <tr>\n      <th>1599998</th>\n      <td>4</td>\n      <td>27.956267</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>1599999</th>\n      <td>6</td>\n      <td>22.916304</td>\n      <td>False</td>\n    </tr>\n  </tbody>\n</table>\n<p>60000 rows × 3 columns</p>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"print(f\"Mean time spend by users who order: {combined_data.loc[combined_data[0] == True]['ts'].mean()}\")\nprint(f\"Mean time spend by users who didn't order: {combined_data.loc[combined_data[0] == False]['ts'].mean()}\")","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:41.027175Z","iopub.execute_input":"2024-09-27T06:27:41.027556Z","iopub.status.idle":"2024-09-27T06:27:41.04115Z","shell.execute_reply.started":"2024-09-27T06:27:41.027523Z","shell.execute_reply":"2024-09-27T06:27:41.039716Z"},"trusted":true},"execution_count":20,"outputs":[{"name":"stdout","text":"Mean time spend by users who order: 29.21212831382391\nMean time spend by users who didn't order: 18.73412297734716\n","output_type":"stream"}]},{"cell_type":"code","source":"print(f\"Mean time spend by users who order: {combined_data.loc[combined_data[0] == True]['aid'].mean()}\")\nprint(f\"Mean time spend by users who didn't order: {combined_data.loc[combined_data[0] == False]['aid'].mean()}\")","metadata":{"execution":{"iopub.status.busy":"2024-09-27T06:27:41.042948Z","iopub.execute_input":"2024-09-27T06:27:41.044146Z","iopub.status.idle":"2024-09-27T06:27:41.057256Z","shell.execute_reply.started":"2024-09-27T06:27:41.044094Z","shell.execute_reply":"2024-09-27T06:27:41.055696Z"},"trusted":true},"execution_count":21,"outputs":[{"name":"stdout","text":"Mean time spend by users who order: 91.80105836337142\nMean time spend by users who didn't order: 21.83861076212176\n","output_type":"stream"}]},{"cell_type":"markdown","source":"Seems like users who order spend more time and perform more actions","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}