diff --git a/mcq_tables.py b/mcq_tables.py new file mode 100644 index 0000000..9aefd5f --- /dev/null +++ b/mcq_tables.py @@ -0,0 +1,13 @@ +def make_table(column): + """Converts to percentages and prints md table""" + table_dict = column.value_counts().sort_index().to_dict() + total = sum(table_dict.values()) + header_str, between_str, count_str = '', '', '' + for k, v in table_dict.items(): + perc = '%.2f' % round(v / total * 100, 2) + "%" + header_str += '| ' + k + ' ' + between_str += '| --- ' + count_str += '| ' + perc + ' ' + print(header_str) + print(between_str) + print(count_str) diff --git a/multiple-choice-qs.ipynb b/multiple-choice-qs.ipynb new file mode 100644 index 0000000..ef1caf2 --- /dev/null +++ b/multiple-choice-qs.ipynb @@ -0,0 +1,80 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import spreadsheet cleaning loader\n", + "from load_survey_data import load_data, headers\n", + "from mcq_tables import make_table" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from datetime import datetime \n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "# Requires openpyxl for read_excel\n", + "from pathlib import Path\n", + "import re\n", + "from IPython.display import Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sheet = \"summarise-all-results-2023-05-16-1359.xlsx\"\n", + "format = \"%Y-%m-%d %H:%M:%S %Z\"\n", + "df = load_data(sheet, format)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "for (h, t) in headers.items():\n", + " if t == \"SECTION\":\n", + " display(Markdown(f\"## {h}\"))\n", + " if t == \"RANKING\":\n", + " print(\"#### \", h)\n", + " make_table(df[h])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "satre-feature-survey", + "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.10.8" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}