{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.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":53666,"databundleVersionId":6589269,"sourceType":"competition"}],"dockerImageVersionId":30558,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\n\ntrain_series = pd.read_parquet(\"/kaggle/input/child-mind-institute-detect-sleep-states/train_series.parquet\")\ntrain_events = pd.read_csv(\"/kaggle/input/child-mind-institute-detect-sleep-states/train_events.csv\")","metadata":{"execution":{"iopub.status.busy":"2023-11-09T08:58:02.053175Z","iopub.execute_input":"2023-11-09T08:58:02.053575Z","iopub.status.idle":"2023-11-09T08:59:03.581729Z","shell.execute_reply.started":"2023-11-09T08:58:02.053541Z","shell.execute_reply":"2023-11-09T08:59:03.580795Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"series_ids = train_events['series_id'].unique()","metadata":{"execution":{"iopub.status.busy":"2023-11-09T08:59:03.583457Z","iopub.execute_input":"2023-11-09T08:59:03.583793Z","iopub.status.idle":"2023-11-09T08:59:03.594302Z","shell.execute_reply.started":"2023-11-09T08:59:03.583766Z","shell.execute_reply":"2023-11-09T08:59:03.592499Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\nfor series_id in series_ids:\n    _train_series = train_series[train_series['series_id']==series_id]\n    _train_events = train_events[train_events['series_id']==series_id]\n\n    nan_index = _train_events.isnull().any(axis=1)\n    _train_events_nonan = _train_events[~nan_index]\n\n    _train_series.index = pd.to_datetime(_train_series['timestamp'], utc=True)\n    _train_events_nonan.index = pd.to_datetime(_train_events_nonan['timestamp'], utc=True)\n\n    print('\\n'+'='*100)\n    print(series_id)\n\n    fig, ax = plt.subplots(figsize=(20, 3))\n    _train_series['anglez'].plot(ax=ax)\n    for _time, _event in zip(_train_events_nonan.index, _train_events_nonan['event']):\n        ax.axvline(x=_time, color='red' if _event=='onset' else 'green')\n    plt.show()\n\n    fig, ax = plt.subplots(figsize=(20, 3))\n    _train_series['enmo'].plot(ax=ax)\n    for _time, _event in zip(_train_events_nonan.index, _train_events_nonan['event']):\n        ax.axvline(x=_time, color='red' if _event=='onset' else 'green')\n    plt.show();\n\n    print(_train_events[nan_index])\n    print('\\n'+'='*100)","metadata":{"execution":{"iopub.status.busy":"2023-11-09T09:49:17.202551Z","iopub.execute_input":"2023-11-09T09:49:17.202989Z","iopub.status.idle":"2023-11-09T11:20:49.360974Z","shell.execute_reply.started":"2023-11-09T09:49:17.202957Z","shell.execute_reply":"2023-11-09T11:20:49.359337Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}