{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8ebd6bfc",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-4a5cdfa688a4b0e0",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "# Visualisierung Hochschulstatistik\n",
    "\n",
    "**Betreuer:** Karl Besser (besser@ifn.ing.tu-bs.de)\n",
    "\n",
    "\n",
    "## Szenario und Ziel der Aufgabe\n",
    "Das Statistische Bundesamt veröffentlicht regelmäßig verschiedene Daten und Statistiken zu hochschulbezogenen Themen in Deutschland.\n",
    "Diese können zum Großteil frei über das GENESIS-Portal (https://www-genesis.destatis.de/genesis/online) online abgerufen werden.\n",
    "\n",
    "Im Rahmen dieses Projekts sollen ausgewählte Daten angemessen grafisch dargestellt und verglichen werden.\n",
    "Insbesondere betrifft dies die Entwicklung der Studierendenzahlen (21311), des wissenschaftlichen Hochschulpersonals (21341) und die finanziellen Ausgaben der Hochschulen (21371).\n",
    "Die angegebenen Zahlen in Klammern entsprechen dem Code des jeweiligen Datensatzes in der GENESIS-Datenbank.\n",
    "\n",
    "Für den Vergleich verschiedener Studiengänge/Fachbereiche wurden exemplarisch Elektrotechnik und Betriebswirtschaftslehre (BWL)/Wirtschaftswissenschaften ausgewählt.\n",
    "\n",
    "## Aufgaben\n",
    "Die folgenden Aufgaben sollen im Rahmen des Praktikums in der Programmiersprache Python implementiert werden.\n",
    "Für die grafischen Darstellungen soll eine geeignete Form der Darstellung gewählt werden.\n",
    "Es gibt keinerlei Einschränkungen bei der genauen Art der Darstellung, solang die Sachverhalte und Zusammenhänge gut erkennbar sind.\n",
    "\n",
    "Die benötigten Daten werden bereits vorsortiert und bereinigt in Form von CSV-Dateien bereitgestellt.\n",
    "\n",
    "1. Einlesen der Daten aus den bereitgestellten CSV-Dateien\n",
    "2. Geeignete grafische Darstellung der zeitlichen Entwicklung der Studierendenzahlen und Frauenquote in den verschiedenen Studiengängen\n",
    "3. Geeignete grafische Darstellung der zeitlichen Entwicklung der absoluten Zahlen und der Frauenquote des wissenschaftlichen Hochschulpersonals für die verschiedenen Fachbereiche\n",
    "4. Geeignete grafische Darstellung der zeitlichen Entwicklung der Hochschulausgaben der einzelnen Bundesländer (sowohl die Gesamtausgaben als auch die Ausgaben der einzelnen Fachbereiche sowie deren Anteil an den Gesamtausgaben)\n",
    "5. _Bonus:_ Gegenüberstellung der Entwicklungen von Studierendenzahlen, Personalzahlen und Ausgaben"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "707ee526",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-d0deab7ee6e89b75",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "%matplotlib widget\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "DATA_STUDIERENDE = \"studierende-21311-0003.csv\"\n",
    "DATA_PERSONAL = \"wissenschaftliches-personal-21341-0002.csv\"\n",
    "DATA_GELD = \"ausgaben-hochschulen-21371-0002.csv\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5fe1f7d9",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-db45b5fc8418f09d",
     "locked": false,
     "schema_version": 3,
     "solution": true,
     "task": false
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# Implementierung von allen notwendigen Funktionen\n",
    "# In der Funktion main sollen alle Plots nacheinander erstellt werden\n",
    "\n",
    "def main():\n",
    "    ### BEGIN SOLUTION\n",
    "    df_studierende = pd.read_csv(DATA_STUDIERENDE)\n",
    "    df_studierende[\"Frauenquote\"] = df_studierende[\"Weiblich\"]/df_studierende[\"Insgesamt\"]\n",
    "\n",
    "    # Plot Vergleich Frauenquote\n",
    "    bar_studierende_frauenquote = sns.barplot(x=\"Jahr\", y=\"Frauenquote\",\n",
    "                                              hue=\"Studiengang\",\n",
    "                                              data=df_studierende, ci=None)\n",
    "\n",
    "    plt.figure()\n",
    "    bar_studierende = sns.barplot(x=\"Jahr\", y=\"Insgesamt\", hue=\"Studiengang\",\n",
    "                                  data=df_studierende, ci=None)\n",
    "    bar2 = sns.barplot(x=\"Jahr\", y=\"Weiblich\", data=df_studierende,\n",
    "                       hue=\"Studiengang\", ci=None, palette=\"flare\")\n",
    "\n",
    "    #df_personal = pd.read_csv(DATA_PERSONAL)\n",
    "    #print(df_personal)\n",
    "\n",
    "    df_ausgaben = pd.read_csv(DATA_GELD)\n",
    "    #print(df_ausgaben)\n",
    "    ### END SOLUTION"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "5be0c3e0",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/7_/jnr8yt9d7jjgsrl8jq270k140000gn/T/ipykernel_68104/176807296.py:10: FutureWarning: \n",
      "\n",
      "The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.\n",
      "\n",
      "  bar_studierende_frauenquote = sns.barplot(x=\"Jahr\", y=\"Frauenquote\",\n",
      "/var/folders/7_/jnr8yt9d7jjgsrl8jq270k140000gn/T/ipykernel_68104/176807296.py:15: FutureWarning: \n",
      "\n",
      "The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.\n",
      "\n",
      "  bar_studierende = sns.barplot(x=\"Jahr\", y=\"Insgesamt\", hue=\"Studiengang\",\n",
      "/var/folders/7_/jnr8yt9d7jjgsrl8jq270k140000gn/T/ipykernel_68104/176807296.py:17: FutureWarning: \n",
      "\n",
      "The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.\n",
      "\n",
      "  bar2 = sns.barplot(x=\"Jahr\", y=\"Weiblich\", data=df_studierende,\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "22e274903af54cb2ad48d83356d08003",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "[encoded data, 29464 characters]",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='data:image/png;base64,[encoded data, 29464 characters]' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "60bb375ed89a4b248f791e0ff409d5ef",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "[encoded data, 38412 characters]",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='data:image/png;base64,[encoded data, 38412 characters]' width=640.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0d63b3a3-dd7c-47ce-95cb-27cd85614ad4",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Create Assignment",
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.8.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
