{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Demo Notebook on Reading and Exploring the Studentlife Dataset\n", "\n", "In this example we download, preprocess and explore the [StudentLife Dataset](https://studentlife.cs.dartmouth.edu/dataset.html)[1].\n", "\n", "\n", "1.: Wang, Rui, Fanglin Chen, Zhenyu Chen, Tianxing Li, Gabriella Harari, Stefanie Tignor, Xia Zhou, Dror Ben-Zeev, and Andrew T. Campbell. \"StudentLife: Assessing Mental Health, Academic Performance and Behavioral Trends of College Students using Smartphones.\" In Proceedings of the ACM Conference on Ubiquitous Computing. 2014." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import plotly.express as px\n", "import plotly.io as pio\n", "import warnings\n", "from math import nan, inf\n", "import pandas as pd\n", "import niimpy\n", "from niimpy.exploration.eda import countplot\n", "from niimpy.preprocessing import survey\n", "from niimpy.exploration.eda import categorical\n", "from kaggle.api.kaggle_api_extended import KaggleApi\n", "import zipfile\n", "\n", "# Plotly settings. Feel free to adjust to your needs.\n", "pio.renderers.default = \"png\"\n", "pio.templates.default = \"seaborn\"\n", "px.defaults.template = \"ggplot2\"\n", "px.defaults.color_continuous_scale = px.colors.sequential.RdBu\n", "px.defaults.width = 1200\n", "px.defaults.height = 482\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "# Login to Kaggle and download the dataset\n", "api = KaggleApi()\n", "api.authenticate()\n", "\n", "api.dataset_download_files('dartweichen/student-life', path=\".\")\n", "archive = zipfile.ZipFile('student-life.zip', 'r')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "survey_file = archive.open(f\"dataset/survey/PHQ-9.csv\")\n", "survey_data = pd.read_csv(survey_file)\n", "survey_data = survey_data.rename(columns={'uid': 'user'})" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "PHQ9_MAP = {\n", " 'Little interest or pleasure in doing things': \"PHQ9_1\",\n", " 'Feeling down, depressed, hopeless.': \"PHQ9_2\",\n", " 'Trouble falling or staying asleep, or sleeping too much.': \"PHQ9_3\",\n", " 'Feeling tired or having little energy': \"PHQ9_4\",\n", " 'Poor appetite or overeating': \"PHQ9_5\",\n", " 'Feeling bad about yourself or that you are a failure or have let yourself or your family down': \"PHQ9_6\",\n", " 'Trouble concentrating on things, such as reading the newspaper or watching television': \"PHQ9_7\",\n", " 'Moving or speaking so slowly that other people could have noticed. Or the opposite being so figety or restless that you have been moving around a lot more than usual': \"PHQ9_8\",\n", " 'Thoughts that you would be better off dead, or of hurting yourself': \"PHQ9_9\",\n", "}\n", "PHQ9_ANSWER_MAP = {\n", " \"Not at all\": 0,\n", " \"Several days\": 1,\n", " \"More than half the days\": 2,\n", " \"Nearly every day\": 3\n", "}\n", "survey_data = survey_data.rename(PHQ9_MAP, axis = 1)\n", "survey_data = survey.convert_survey_to_numerical_answer(\n", " survey_data, id_map={\"PHQ9\": PHQ9_ANSWER_MAP}, use_prefix=True\n", ")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAGQCAYAAABWJQQ0AAAgAElEQVR4Xu29CZQU1fm//w7DqohKNKLgFolLgoCRGFQSRUSMwQjRJPpzQ9kUUTEqGgHFJRGXuKCJyBJBUdzFPX7VuATUKGjUqEjcWMQNI7LJ4DD8z1snNf9mmKH7fqro6e556pycJEx9qu997tvd9dS9VV22du3atcYGAQhAAAIQgAAEIAABCEAgDwTKEJA8UOYlIAABCEAAAhCAAAQgAIGIAAJCIUAAAhCAAAQgAAEIQAACeSOAgOQNNS8EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgkDcCCEjeUPNCEIAABCAAAQhAAAIQgAACQg1AAAIQgAAEIAABCEAAAnkjgIDkDTUvBAEIQAACEIAABCAAAQggINQABCAAAQhAAAIQgAAEIJA3AghI3lDzQhCAAAQgAAEIQAACEIAAAkINQAACEIAABCAAAQhAAAJ5I4CA5A01LwQBCEAAAhCAAAQgAAEIICDUAAQgAAEIQAACEIAABCCQNwIISN5Q80IQgAAEIAABCEAAAhCAAAJCDUAAAhCAAAQgAAEIQAACeSOAgOQNNS8EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgkDcCCEjeUPNCEIAABCAAAQhAAAIQgAACQg0UPYHf/OY39sEHH0T9aNSokbVq1cp++MMf2rHHHmv77LNPdf+uuOIKmz17tt1999219rlfv36200472ejRo9f5+2effWa33XabvfDCC/bpp59aeXm57bjjjnbooYfar3/9a2vWrNk6+/s+N9xwg7344ou2evVq22233Wzw4MHrtKXooZvZa6+9Zr///e9t2rRptuWWW9Zbl5YsWWIHH3ywjRkzJvrv2rbJkyfbjBkzbOLEiVI7fezPOOMM+9vf/mZbbbWVdAwPrVy50o466igbMWKE7b///vJxCCYj4O/1XXfd1S644IJkByqydL7qb/jw4dFn33XXXRdEKF/ty6VRudZIoXwO5tIn9oFAIRFAQAppNGiLRMAF5Pvf/76ddNJJVlFRYYsWLbJ77rknOkG+9tprrVu3btFxFQF566237PTTT7ctttjCfvvb39ouu+xilZWV9sYbb9idd95p22+/vf3lL3+xTTfdNHqNZcuW2THHHGPbbrutDRgwIDox//vf/2633npr1Jaf/OQnUh/rO3TyySfbeeedF8lUvH300Ud244032mWXXWbNmzevtybmIiBPP/10NGZnnXVWdTtr65P/sbZ/T0tAvHZcPvw1MlnmCq+uNuea39j7/fnPf45q/v/9v/+3sV8q0fFzPblM9CIFGE5af7l2SRWQfLUvsx8vvfRS9H3xpz/9aZ3u5VojhfI5mOvYsB8ECoUAAlIoI0E7ZAIuIHvvvXd0ghxv3377rR199NHWpk0b85MiRUD8GL/61a+iE6px48bZJptssk4bFyxYYMcff3x01X3kyJHR33w2wPd95JFHbLPNNqve3yXl+eefj6Sl2Daf0Tn88MNt6tSp0knzxu5vLgJSsw119amuf09LQJKwKPRx8JNHf8/5ewYBSTLSxZ9VBaQ+eu4XUL766itZQOqjzbwmBEqBAAJSCqPYwPtQm4A4EpeCd999N7q6pQjI//3f/0VLNP76179ax44da6Xsfxs/fny0NMdnSf7whz/Yf/7zH/MlP5mbLxHzdj700EO23Xbb1TlivtTr3nvvNV/25fsdd9xx0bKdWbNmVS9n8H59/vnn0etmbp7zq3i+9Cve/KTQlx25EC1evNjatm1rfmXPhSLevG0+k+EzBP5avsToxz/+sZ1//vn21FNPRX1atWpV9f7f+973omVstZ2U++vdcsst9uijj0bL1Xw53M9+9jMbOnRoxCfevA29evWyFStW2MMPPxz157vf/a717t3b+vfvHy2l8+25556LZgwuueQSO+igg2rllouA+JK4Z5991u677z57/PHHa+2Tz6CF9jUb25oN9hk6X3rlr+P99y0XFnW1OV5O6GPrffRlZt98843tscceNmzYMNtzzz3XYd63b1/7zne+Y2PHjjUX6AsvvNB+/vOfR/t4DXvdzps3zzbffHM77LDDbMiQIda4cePo78uXL4/qxEXaT9h8nx/84AfR6/i4+77ejszN6ydz3DP/5u8vnxn0+mvSpIl17tzZTjvttGhpVLx5n7744otoNvGPf/xjVKNeI7UtnYrZ+vvi/vvvt5kzZ0Yzon48r78uXbqsw6LmEqxcGC5cuNCmTJlir7zySlSzzuCAAw6IGMSzgBvitMMOO9j06dOjWUN/T2dufiXdl+f5+yceN6+NusYsl/d2WvVX1wfW2rVrozH095Xz8JlfX/r6r3/9K6qX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McNuvPFGW758uW2//fY2YsSI6G+VlZU2ZswYmz17tn377be266672uWXX25nnnmmvfHGG/a9733PunTpYsOGDdOBZyQbjIA42EmTJtnDDz8cQW7fvn00IG3atIlw+L/fdNNNtnr16mia6fzzz48GLduGgGQjtP7fERAEJLxq9AQCorMjqRFAQDRupDQCCIjGrZQF5L777rNp06ZZy5Yt7cknn7S77rrLJk6caB9//LENHDjQxo8fH0nH008/bRMmTLA77rgjEpNHH33Urrjiigio79u2bVtbsGCBnX322Xb33XfroGtJNhgB+frrr+3ee++13/72t9GAOPD3338/sr158+ZF00suKFtvvXUkJh06dLDjjjsuK2wEJCui9XZAQBCQ8KrREwiIzo6kRgAB0biR0gggIBq3UhaQzz//3IYPHx6BWbt2rR100EH24IMP2kMPPWSffvqpnXPOOdXQjj76aLv44ouji+4uGj4jss8++1T/HQHR66vW5LvvvmsXXXSR3XnnnTZlyhTzNW5Dhw6N9p07d65dcsklOa13Q0DCBwYBQUDCq0ZPICA6O5IaAQRE40ZKI4CAaNxKWUBWrlxpQ4YMqQbTt29fu/baa+2BBx6w1q1b24knnlj9t9NPPz26ON+tWzf717/+Fc2ULF68OFp6te+++zIDopdX7UmfDZkzZ04023HZZZdZ586drXfv3tHOFRUV1qNHj2g6Kt58rVzNzWdSvvrqq7SbVvLHcwGZ/epQm79gcsn3tWYHO3e82dq2RUDyOfAuIJtttpn5LCgbBPJBYPPNN48ualVVVeXj5XiNBk5gk002sTVr1kTnLmxhBLbccsuwgLj3ijw+BcvvAfH7Py688MKotX7bgd9a4Murpk+fbj47UtsMyG677Vbdu3feecfOOOOMaOWQf5b97ne/YwmWOPbrxBz+KaecYn/+859t2223jSTkgAMOsJ49e1bv5zfavPLKK1ZWVhb924EHHrjeSz/77LPR1Ja6rfrsM6ta/JmVJTiG+tr1matq1sxe++xKm9cABWTvH0203XY9qbqu6nMcGtJr+/s4yXu1IbHK7Kuf1ORyL1xD5VNXv6k3KiKfBKg3nXZ8jqcfIbdkvgXktttui1b3+H0e/vQqP1/1mY2FCxfaoEGDbNy4cbbDDjvY3//+9+h/+2ogPzdu3ry5+Qyuz6D4rIgfxy/iHXHEEZHAuOymtTWYe0BiYEuWLImmpdzsunbtGv2zz4D4PR99+vSJ/r/PdvTq1ctmzpyZlXOSJVjln3xsze66zcoqVmV9nVLaoXL3H9jsXV60+QtvLaVu5dSXTh3HWdvtmAHJCVZKO7EEKyWQHCZnAizByhkVO6ZAgCVYOkRfjpSPLd8CsmjRomgWxIXDH7Y0evTo6qdgPffcc3bDDTfYqlWron+74IILIhl5/fXXo9sPfMakSZMmduyxx5ov3fJt7Nix9vjjj9v+++8fXbRPY2tQAuJi4fd5+M3lBx98cDU/t0Nf7xY/Wuytt96KpMSfIJBtQ0CyEVr/7wgIAhJeNXoCAdHZkdQIICAaN1IaAQRE4+apUhUQf6Krz3QU8tZgBMSnk3zWw6eUMpda+eC4KfpA+ZOx4qdg+WN6BwwYkHXsEJCsiNbbAQFBQMKrRk8gIDo7khoBBETjRkojgIBo3PIpICvfm2trP3w/54aW7byLbdJ+15z3z9zR7wHx+4EGDx4s5fMVajACcv/999sf//jHaC1b5vbXv/41Wn71xBNPRFNMPiW133772ahRo8xvls62ISDZCK3/dwQEAQmvGj2BgOjsSGoEEBCNGymNAAKiccungPg9iCH3Ifq9Ker9KQiIXg9FlURAwocLAUFAwqtGTyAgOjuSGgEERONGSiOAgGjc8ikgegtLN9lgZkA21hAiIOFkERAEJLxq9AQCorMjqRFAQDRupDQCCIjGDQHRuaWRREASUkRAwgEiIAhIeNXoCQREZ0dSI4CAaNxIaQQQEI0bAqJzSyOJgCSkiICEA0RAEJDwqtETCIjOjqRGAAHRuJHSCCAgGjcEROeWRhIBSUgRAQkHiIAgIOFVoycQEJ0dSY0AAqJxI6URQEA0bgiIzi2NJAKSkCICEg4QAUFAwqtGTyAgOjuSGgEERONGSiOAgGjc8ikgS5cutIqK/+bc0GbNWlurVu1y3r8Yd0RAEo4aAhIOEAFBQMKrRk8gIDo7khoBBETjRkojgIBo3PIpIPPmPWEvzzoh54b+uMutttOOvXLevxh3REASjhoCEg4QAUFAwqtGTyAgOjuSGgEERONGSiOAgGjc8ikgH330mM144Rc5N7Tbfo/aTjsdlvP+xbgjApJw1BCQcIAICAISXjV6AgHR2ZHUCCAgGjdSGgEEROOGgOjc0kgiIAkpIiDhABEQBCS8avQEAqKzI6kRQEA0bqQ0AgiIxq1UBcR/Cd3PTefPn28rVqyw8vJyGzlypLVr187efPNNu++++6xNmzZ211132Zlnnml9+vSxGTNm2I033mirVq2yLl262PDhw61p06Y62BySCEgOkDa0CwISDhABQUDCq0ZPICA6O5IaAQRE40ZKI4CAaNxKWUBcMqZNm2YtW7a0J598MpKNiRMnRgIybNgwO/roo+2kk06yxo0b26effmr9+/e3SZMm2TbbbGOjR4+2nXfe2fr166eDzSGJgOQACQFJCKlGHAFBQNKtqA0fDQHJJ21eywkgINRBPgkgIDrt1q1b6+GAZD7vAfEZkM8//zyaxfBt7dq1dtBBB9mDDz5o8+bNs/POO88effRRKysri/5+xx132CeffGJnn3129P9nzZpl48aNi4RlY24ISEK6zICEA0RAEJDwqtETCIjOjqRGAAHRuJHSCCAgGjdPlaqArFy50oYMGVINpm/fvnbttdfasmXLbOzYsTZhwoTqv1133XX2yCOP2Oabbx7925o1a6L/PWXKFB1sDkkEJAdIG9oFAQkHiIAgIOFVoycQEJ0dSY0AAqJxI6URQEA0bqUsIH7/x4UXXhiBqaystO7du0ezHj4DcsMNN9j48eOrod1+++325Zdf2hlnnKGDFJIIiAAtM4KAhANEQBCQ8KrREwiIzo6kRgAB0biR0gggIBq3UhaQ2267LZrB8BvPp06das8++2z1PSA1BcTvARkwYIBdf/31tssuu1hFRYUtXrzY2rZtq4PNIYmA5ABpQ7sgIOEAERAEJLxq9AQCorMjqRFAQDRupDQCCIjGrZQFZNGiRdFTsBYuXBg98cpvLI+fglVTQJzDP//5z0hAXDz86VcDBw60I444QgebQxIByQESApIQUo04AoKApFtRGz4aApJP2ryWE0BAqIN8EkBAdNqleg/I6tWrbdCgQTqYPCQRkISQmQEJB4iAICDhVaMnXED8C3r58uX6QYo06U8/Ycs/AQQk/8wb8isiIPro50tAPv54hn3+xfM5N/S7W//M2rbtlvP+mTv6U7B8GdXgwYOlfL5CCEhC0ghIOEAEBAEJrxo94Y8a/GLxE/buu1foBynS5He3PsTatx9e/bjFIu1G0TUbASm6ISvqBiMg+vDlS0D8YlDIBSH/3oofkxvaOwQklFiR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FgIQgAAEshJAQLIiYgcIQAACxUfgvvvus0ceeSSShE033TQSje985zu2/fbb25dffml9+vSJxOKQQw6JBKW8vDyShZkzZ9pFF11kf/zjHyOJePXVV23UqFE2duxY23PPPSMB8WP6sc4++2zbaqutrE2bNvbiiy/alVdeaWPGjIle49577zVvw913323NmjUrPoC0GAIQgAAENhoBBGSjoeXAEIAABOqPwD333GOPPvqojRs3zpo3b75OQyZMmGCvv/663Xjjjes18JRTTrF9993XTjzxxOq/+THee+89u/rqqyMBOeuss6LZjh122KF6H59d6d27tx122GHV/3bwwQdHQtKlS5f6A8ErQwACEIBAwRFAQApuSGgQBCAAgeQEKioqopkMn8Ho27ev/frXv45mK3wbMWKEbbvttjZ06ND1XujQQw+10aNHW9euXav/9txzz0Uf4OE3AAAEb0lEQVTLtVw6XEAuv/xye+yxx9bJem7JkiVWVlZW/e9VVVVRGzKlJHnPOAIEIAABCBQ7AQSk2EeQ9kMAAhDYAAGfubj99tvtmWeesSuuuMJ+8pOf2O9///vo3o7TTjttveRBBx0ULb/KFJBnn302WoIVC4jfW+LLqzI3X8p14YUXWrdu3RgPCEAAAhCAwAYJICAUCAQgAIEGQGDq1Kn20ksvRcuufEnVW2+9ZTfccMN6PfclWC4f/fr1q/6b7z937ly75pprohmQ2gTEc37PSG2zKg0AL12EAAQgAIEAAghIACx2hQAEIFAsBGbPnh3d/P3973/fvv322+j+jcaNG9vIkSPts88+syOPPNJOP/1069Wrly1fvtyWLl1qP/jBD+z555+3Sy65pPomdH9almdcPvbaa686BcTl5pxzzomWd/k9JP50rJdfftl+8YtfWNOmTYsFG+2EAAQgAIE8EEBA8gCZl4AABCCQbwI+U+H3bSxatMhatGgRLb0677zzbPPNN4+a8s9//jOaAfElWv4YXn8ilt8n4tvjjz9ukyZNsoULF1rbtm1t4MCB5vd4+FbXDIj/zW9698fwes6fvNW5c+foJvQmTZrku/u8HgQgAAEIFDABBKSAB4emQQACEIAABCAAAQhAoNQIICClNqL0BwIQgAAEIAABCEAAAgVMAAEp4MGhaRCAAAQgAAEIQAACECg1AghIqY0o/YEABCAAAQhAAAIQgEABE0BACnhwaBoEIAABCEAAAhCAAARKjQACUmojSn8gAAEIQAACEIAABCBQwAQQkAIeHJoGAQhAAAIQgAAEIACBUiOAgJTaiNIfCEAAAhCAAAQgAAEIFDABBKSAB4emQQACEIAABCAAAQhAoNQIICClNqL0BwIQgAAEIAABCEAAAgVMAAEp4MGhaRCAAAQgAAEIQAACECg1AghIqY0o/YEABCAAAQhAAAIQgEABE0BACnhwaBoEIAABCEAAAhCAAARKjQACUmojSn8gAAEIQAACEIAABCBQwAQQkAIeHJoGAQhAAAIQgAAEIACBUiOAgJTaiNIfCEAAAhCAAAQgAAEIFDABBKSAB4emQQACEIAABCAAAQhAoNQIICClNqL0BwIQgAAEIAABCEAAAgVMAAEp4MGhaRCAAAQgAAEIQAACECg1AghIqY0o/YEABCAAAQhAAAIQgEABE0BACnhwaBoEIAABCEAAAhCAAARKjQACUmojSn8gAAEIQAACEIAABCBQwAQQkAIeHJoGAQhAAAIQgAAEIACBUiOAgJTaiNIfCEAAAhCAAAQgAAEIFDABBKSAB4emQQACEIAABCAAAQhAoNQIICClNqL0BwIQgAAEIAABCEAAAgVMAAEp4MGhaRCAAAQgAAEIQAACECg1AghIqY0o/YEABCAAAQhAAAIQgEABE0BACnhwaBoEIAABCEAAAhCAAARKjQACUmojSn8gAAEIQAACEIAABCBQwAQQkAIeHJoGAQhAAAIQgAAEIACBUiPw/wGA9qdceT5l4QAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = categorical.questionnaire_grouped_summary(\n", " survey_data, \n", " question='PHQ9_1',\n", " group='type', \n", " title='PHQ9 question: Little interest or pleasure in doing things',\n", " xlabel='score', \n", " ylabel='count',\n", " width=800, \n", " height=400\n", ")\n", "fig.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "pre_study_survey = survey_data[survey_data[\"type\"] == \"pre\"]\n", "scores = survey.sum_survey_scores(pre_study_survey, \"PHQ9\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | user | \n", "PHQ9 | \n", "group | \n", "
|---|---|---|---|
| 0 | \n", "u00 | \n", "2 | \n", "minimal | \n", "
| 1 | \n", "u01 | \n", "5 | \n", "mild | \n", "
| 2 | \n", "u02 | \n", "13 | \n", "moderate | \n", "
| 3 | \n", "u03 | \n", "2 | \n", "minimal | \n", "
| 4 | \n", "u04 | \n", "6 | \n", "mild | \n", "