{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Musterlösung zu Projektaufgabe Deskriptive Statistik und offene Fragen\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Grundlage: Datensatz der San Francisco Public Library, s.a. https://zbmed.github.io/2023-2024-ZK_Data_Librarian_Modul_3/organisation/dataset/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Frage 1: Wie viele Senioren und Kinder sind Kunden der San Francisco Public Library?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Frage 2: Wie viele Nutzer möchten per Mail informiert werden?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Frage 3: Wie alt sind diese Nutzer durchschnittlich im Vergleich zu Nutzern, die per Post informiert werden möchten?" ] }, { "cell_type": "markdown", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "##### Frage 4: Wie viele Ausleihen werden im Mittel pro Altersgruppe und pro Jahr getätigt? Ist die Streuung zwischen den Gruppen gleich?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Frage 5: Welche Altersgruppe verlängert im Mittel wie oft?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Frage 6: Wie ist die Verteilung der Altersgruppen im Mission District" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Frage 7: Erklärung von Normalisierung von Kreuztabellen (Kapitel 3 im Skript)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "%matplotlib inline\n", "sns.set_theme()\n", "# das was wir brauchen in abgekürzter Form" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv(\n", " \"../data/Library_Usage.csv\",\n", " na_values=\"none\",\n", " low_memory=False\n", ")\n", "# Einlesen des Datensatzes in das neu definierte DataFrame df mit Überschreibung \n", "#fehlender Werte" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Patron Type CodePatron Type DefinitionTotal CheckoutsTotal RenewalsAge RangeHome Library CodeHome Library DefinitionCirculation Active MonthCirculation Active YearNotice Preference CodeNotice Preference DefinitionProvided Email AddressYear Patron RegisteredWithin San Francisco County
05Staff5315NaNb2BayviewMar2023.0zEmailTrue2003False
15Staff480378NaNe9ExcelsiorJun2023.0zEmailTrue2003False
25Staff703345 to 54 yearsn4Noe ValleyJan2023.0zEmailTrue2011False
35Staff39342140NaNo2Ocean ViewJul2023.0zEmailTrue2003False
45Staff11181035NaNo7OrtegaJul2023.0zEmailTrue2003False
\n", "
" ], "text/plain": [ " Patron Type Code Patron Type Definition Total Checkouts Total Renewals \\\n", "0 5 Staff 53 15 \n", "1 5 Staff 480 378 \n", "2 5 Staff 70 33 \n", "3 5 Staff 3934 2140 \n", "4 5 Staff 1118 1035 \n", "\n", " Age Range Home Library Code Home Library Definition \\\n", "0 NaN b2 Bayview \n", "1 NaN e9 Excelsior \n", "2 45 to 54 years n4 Noe Valley \n", "3 NaN o2 Ocean View \n", "4 NaN o7 Ortega \n", "\n", " Circulation Active Month Circulation Active Year Notice Preference Code \\\n", "0 Mar 2023.0 z \n", "1 Jun 2023.0 z \n", "2 Jan 2023.0 z \n", "3 Jul 2023.0 z \n", "4 Jul 2023.0 z \n", "\n", " Notice Preference Definition Provided Email Address \\\n", "0 Email True \n", "1 Email True \n", "2 Email True \n", "3 Email True \n", "4 Email True \n", "\n", " Year Patron Registered Within San Francisco County \n", "0 2003 False \n", "1 2003 False \n", "2 2011 False \n", "3 2003 False \n", "4 2003 False " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#df\n", "df.head()\n", "#Überblick über das DataFrame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Frage 1: Wie viele Senioren und Kinder sind Kunden der San Francisco Public Library?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Um diese Frage zu beantworten, kommen die Spalten \"Patron Type Definition\" oder \"Age Range\" in Frage, also schauen wir uns die Einträge (Merkmalsausprägungen) an: " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Adult 274682\n", "Juvenile 53281\n", "Senior 49332\n", "Teen 40561\n", "Welcome 9966\n", "Digital Access Card 3714\n", "Teacher Card 3234\n", "Staff 806\n", "Retired Staff 215\n", "Visitor 148\n", "Library By Mail 120\n", "At User Adult 118\n", "At User Senior 78\n", "At User Welcome 13\n", "At User Teen 8\n", "Business 7\n", "At User Juvenile 7\n", "Name: Patron Type Definition, dtype: int64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Patron Type Definition'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Man sieht, dass es sich um nominale Werte handelt." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "25 to 34 years 92669\n", "35 to 44 years 81719\n", "10 to 19 years 66857\n", "45 to 54 years 48319\n", "0 to 9 years 32692\n", "65 to 74 years 31714\n", "20 to 24 years 25381\n", "75 years and over 19297\n", "55 to 59 years 19076\n", "60 to 64 years 17654\n", "Name: Age Range, dtype: int64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Age Range'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Man sieht, dass es sich um ordinale Werte handelt." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In der Beschreibung des Datensatzes steht, dass sich die Spalte 'Age Range' nach dem Geburtsdatum richtet. D.h. es ist davon auszugehen, dass die Nutzer der Bibliothek zum Zeitpunkt der Bereitstellung des Datensatzes (2023) in die Kategorien von 'Age Range' einsortiert werden. In der Spalte 'Patron Type Definition' sind verschiedene Merkmalsausprägungen zu finden, die nicht unbedingt etwas mit dem Alter zu tun haben (z.B. VISITOR oder SPECIAL). Daher ist davon auszugehen, dass wir mit 'Age Range' am nähesten Fragestellungen zu Alter beantworten zu können. Richtige Angaben zu tatsächlichem Alter der Nutzer liegen bei diesem Datensatz nicht vor." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An dieser Stelle ist also zu definieren, was Senioren und Kinder sind. Eine Möglichkeit ist, Senioren als Age Range = 65 to 74 years und Age Range = 75 years and over zu definieren, man könnte aber auch Age Range = 60 to 64 years dazunehmen. Für das weitere Vorgehen, definieren wir Senioren als über 65-jährige und Kinder als bis 19-jährige. Um die Frage 1 zu beantworten, reicht es also, die entsprechenden Einträge zu summieren." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "kinder=df.loc[df['Age Range'] == \"0 to 9 years\"] \n", "kinder=df.loc[\n", " (df['Age Range'] == \"0 to 9 years\") | \n", " (df['Age Range'] == \"10 to 19 years\")\n", "] \n", "#Hilfsvariable" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "99549" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(kinder) " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "senioren=df.loc[\n", " (df['Age Range'] == \"65 to 74 years\") | \n", " (df['Age Range'] == \"75 years and over\")\n", "] \n", "#Hilfsvariable\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "51011" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(senioren)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Antwort auf Frage 1:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Es sind 99549 Kinder (bis 19 Jahre) und 51011 Senioren (ab 65 Jahren) registriert.\n" ] } ], "source": [ "print('Es sind ' + str(len(kinder)) + ' Kinder (bis 19 Jahre) und ' + str(len(senioren)) + ' Senioren (ab 65 Jahren) registriert.' )\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Frage 2: Wie viele Nutzer möchten per Mail informiert werden?" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "393301" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(df.loc[(df['Notice Preference Definition'] == \"Email\")])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Antwort auf Frage 2:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "393301 Nutzer möchten per Mail informiert werden.\n" ] } ], "source": [ "print(str(len(df.loc[(df['Notice Preference Definition'] == \"Email\")])) + ' Nutzer möchten per Mail informiert werden.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Frage 3: Wie alt sind diese Nutzer durchschnittlich im Vergleich zu Nutzern, die per Post informiert werden möchten?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die relevante Spalte über die gewünschte Benachrichtigungsart schauen wir uns genauer an:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Email 393301\n", "None 42989\n", "Name: Notice Preference Definition, dtype: int64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Notice Preference Definition'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Es handelt sich um ein nominales Merkmal." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Auch hier stoßen wir auf eine Interpretationsfrage. Da der Datensatz kein Alter ausgibt, sondern nur Altersstufen (Age Range) bzw. Kategorien, die nicht immer etwas mit dem Alter zu tun haben sondern eher mit dem Nutzerstatus (Patron Type Definition), müssen wir überlegen, was ein Durchschnitt bedeuten kann. Age Range ist ein ordinales Merkmal, d.h. wir können keinen Erwartungswert berechnen, aber uns dennoch Häufigkeitstabellen anschauen." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Um diese beiden Merkmale (nominal und ordinal) zu verbinden, können wir uns einen Plot angucken, dafür definieren wir eine neue Variable indem wir nach den Merkmalen filtern, die uns interessieren:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "benachrichtigung=df.loc[\n", " (df['Notice Preference Definition'] == \"Email\") | \n", " (df['Notice Preference Definition'] == \"None\")\n", "] #Hilfsvariable für den Plot, damit nur die Merkmale 'email' und 'print' angezeigt werden" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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KVlzzTXTvn37JR4YAAAAAACUW7NmzfKvf/0rN954Y0477bSy7KNTp05l6XdBWrVqVWt/2223Xd5+++3cc889Ofnkk7PSSist0T6mTJmSrl27Zvvtt1+ifpYna621Vq3z2rt377Rs2TK33357dt1112yzzTaL3d+UKVOSJD/60Y9K0+t91Tpp0qTJIrfZfPPNv1Kf5VSnKfueeuqpWl8vvvhiHn300bRs2TL77LNPPQ8TAAAAAADq35Zbbpl99tknt912W/7xj3986brz5s3LPffck7322isdOnRIz549079//8yePTtJcv311+eGG25IUnOavv+esm/SpEk577zzsv3226dz58456KCD8re//a20fP7dR7179067du3y3e9+N7/5zW+W6DjbtWuXTz/9NFOnTi2N6YYbbsh+++2XbbbZJjfddFOS5P3338/pp5+ebbfdNh07dsxhhx2WN998M8n/myJuwoQJGTJkSFq3bl26geWtt97Ksccem6233jpbb711TjzxxLz77rul/Q8bNiytW7fOfffdl29/+9vZfvvt89xzzyVJRowYkYMPPjgdO3bMtttum3POOSeffPJJaduHHnoobdu2zWuvvZb9998/7du3T8+ePTNw4MAax/jpp5/miiuuyE477ZROnTpl3333zVNPPVVjnd/97nfZY4890q5du/Ts2TPXX3995s6dW+fzevLJJ6dJkya57777Sm2Lev0OOeSQUj20adMm/fr1qzX93uIc8xe3GTZsWA499NAkyaGHHlqapu+/p+ybPXt2brzxxvzP//xP2rdvn+985zu59dZba0zneMghh+T888/Prbfemp49e6Z9+/Y54IAD8tprr9X5PCX1/Aypb33rWznxxBNL/+AAAAAAAGBZd/7552ettdbKueeemzlz5ix0vYsuuiiXX355evXqlZtvvjkHHXRQ7r777pxwwgkpiiI/+MEP8v3vfz/J59P0fXHqvPlmzJiRAw44IH/9619zxhln5IYbbshqq62Wo48+OmPGjEmSXHLJJRkwYED23nvv/OpXv8r//M//5PLLL8+NN95Y52McO3ZsVl111RpT7N1888357ne/m6uvvjq77LJLPvnkkxxwwAF54403cuGFF+aqq65KdXV1DjrooIwZM6Y0Rdzaa6+dnXfeOffff3+22mqrjB07NgcccEAmTZqUK6+8MpdddlnefffdHHjggZk0aVKNcVxzzTU555xzcs4556RTp04ZPnx4Dj/88DRt2jTXXnttzjvvvLz00ks59NBDM2vWrNJ21dXVOfXUU7P77rvn1ltvzTbbbJP+/fvnL3/5S2n50Ucfnd///vf58Y9/nJtvvjlVVVU56aSTSqHZLbfckgsvvDDbbbddfvWrX+Wggw7KwIEDc9FFF9X5vDZv3jwdOnSoESgu6vW7+OKLa9TJ/KkA/9uijvmLttpqq9JxXHTRRQucqq8oihx33HG57bbb8v3vf780tmuvvbbW+o899liefPLJXHDBBbn66qvz8ccf5+STT868efPqdqJSxyn7vszqq6+eCRMm1He3AAAAAABQFs2bN89PfvKTHH/88Qudum/06NF58MEHc+qpp+b4449Pkuywww5ZZ511cvbZZ+fZZ5/NzjvvXHpW1MKmUvv973+fd999N0OGDEmbNm2SJF26dMk+++yT4cOHp7KyMg888EBOP/30/PjHP06S7LjjjqmoqMgtt9ySH/3oR2nRosVCj6W6urp0x09RFPn444/zyCOP5KmnnspRRx1Vmh4uSTp06FDaR/J5WDRlypTce++9WX/99ZMkO+20U3bfffdcd911GTBgQDp16pQmTZrUmMLu4osvTtOmTXPnnXdm9dVXT/L5NIG77rprbrvtthrPVzrggAPyP//zP6Wfr7rqqmy66aa55ZZb0qhRoyRJx44ds8cee2Tw4ME56KCDSsdywgknlEK+bbbZJk888USefvrp9OjRI88++2xefvnl3HTTTdlll12SJN27d8/48ePz4osvpm3btrn55puz//7754ILLiid1zXXXDMXXHBBjjjiiGyxxRYLPa9f5hvf+Ebp7rqxY8cu8vXbfPPNa9XJe++9V6vfRR3zF62++uql6fk233zzBU7V9+yzz+avf/1rfvnLX2bvvfdO8nkNN23aNNddd10OO+yw0nZz587NoEGDSq/np59+mnPOOScjR45Mu3bt6nSe6nSH1Pvvv1/r6913383w4cNz7bXXZrPNNqvTYAAAAAAAoCH06tUre++9d2677ba88cYbtZa/9NJLSZK99tqrRvsee+yRRo0ale7CWZQRI0Zkgw02KIVRSbLyyivnT3/6Uw444IC8+OKLKYoivXr1yty5c0tfvXr1yuzZs2vcibMgN910U7baaqtstdVWpWnpbrjhhuy///45+eSTa6xbVVVV4+cXXnghW265ZdZdd93SfisrK7PTTjvlr3/960L3+eKLL6Zbt25p2rRpabvVV189Xbp0qbVd69atS9/PnDkzr732WnbeeecURVHadsMNN8xmm22W559/vsa2nTt3Ln0/PxSbMWNG6byutNJK+fa3v11ap6KiIvfee29OOeWUvPLKK5k5c+YCz2uSWvuqqyV9/f7blx3zV/XSSy+lUaNG2X333Wu0zw+nvljDm2++eSmMSpJ11103yeevWV3V6Q6pXr161UhR5yuKIqusskqNuTABAAAAAGB5cMEFF+SFF15Iv379Mnjw4BrL5j97ae21167R3rhx47Ro0SL/+c9/FmsfU6ZMqTFt3oKWJ58HXQvy4Ycffmn/P/zhD/PDH/4wyeeBzGqrrZYNNtggK620Uq11v/GNb9Ta9/jx47PVVlstsO+ZM2dmlVVWWeCYH3300Tz66KO1lq211lo1fv7isU+bNi3V1dUZOHBgredBJZ8HdV/UtGnTGj9XVlamKIrSGNZcc81UVi74Ppz55/WLd4R90cSJExfYvjg+/PDD0h1PS/r6/bcvO+avaurUqWnRokUaN64ZDc2v6S/W8H+/zvPP6xefNfVV1SmQuvzyy2sFUhUVFVl99dXTvXv3GqkZAAAAAAAsD9ZYY41ccsklOfHEE3PzzTfXWpYkH330UTbYYINS+2effZbJkyd/6TR6X9SsWbMFTs/2yiuvZPXVV0/z5s2TJHfddVdWW221Wut985vf/NL+11lnnbRv336xxrKgsW277bY5++yzF7i8SZMmC91u++23zxFHHFFr2X+HH1+02mqrpaKiIocffvgCA5wFhV8L06xZs0yZMiXV1dU1QqmRI0dm7ty5pfPav3//bLLJJrW2/+9wbnFNnTo1b7zxRr73ve8lyRK/fuW0xhprZPLkyZk7d26N12V+GLe4NVxXdQqk9t133/oeBwAAsJyprKxIZWXtmRNWBNXVRaqr6/a/DgEAWL7tuuuu2XPPPXPrrbfWuKto2223TZI88sgjpWdIJckf//jHzJs3L9tss02SLPQOnfm6dOmSxx9/PP/85z9L09fNmTMnffv2zW677VZ6XtDkyZPTvXv30nZ/+ctfcuedd+a888770juslsS2226bRx55JJtuummNG08uu+yyzJ49Oz/96U8Xut3o0aOz5ZZbloKOoihy5plnZuONN86WW265wO1WX331tG3bNm+//XaNEG3WrFk55ZRTstNOOy3wWUgL0qVLl9x+++155plnStP2FUWR888/P61atcpll12WlVZaKR9++GGNaRdHjRqVK6+8MieeeGLWW2+9xdrXF/3qV7/KZ599lv333z9J0rVr1yQN8/rNfwbXwmy77ba57bbb8uijj5am6UuShx9+OElKNVwudQqkkuSTTz7JHXfckWHDhmXatGlp0aJFunTpksMPP7xsJxMAAFg2VFZWZM01V02jRnV6LO0yb9686kyZMkMoBQDwNXXhhRfmxRdfzMcff1xq23zzzdOnT5/ccMMNmTVrVrp165aRI0fmhhtuSLdu3dKjR48k/+8OmaFDh6Zjx47ZcMMNa/S977775je/+U2OP/74nHLKKVlrrbVyzz33ZNasWTnkkEOy0UYbZe+9986FF16YCRMmpF27dhk7dmyuueaabLDBBgu8u6e+HH744fnDH/6Qww8/PEceeWRatGiRRx99NA888EDOPffchW53wgkn5IADDsixxx6bAw88MCuvvHLuv//+/PnPf86AAQO+dJ+nn356fvzjH+eMM87I3nvvnXnz5uX222/Pa6+9ViP4W5SePXumc+fOOffcc3PKKadk4403ziOPPJK33norF154YVq0aJGjjz461113XaZPn55u3brlww8/zHXXXZeKiooaz/RakE8++SSvvvpqkmTevHmZNGlSHnvssQwdOjTHHXdcKVCrqqpqsNevWbNmSZKnn346a6yxRq1j2mmnndKtW7dcfPHFmThxYtq2bZuXXnopAwcOTJ8+fRY7/KurOgVSH3zwQfbff/988skn6dSpU9q2bZuPPvood9xxR4YMGZIHH3yw9IArAABgxVNZWZFGjSpz473PZ8LEqQ09nHq1/jpr5MQDd0hlZYVACgDga2rNNdfMJZdckpNOOqlG+2WXXZaNN944gwcPzqBBg7LOOuvkkEMOyYknnli6M+o73/lO/vCHP6Rfv375/ve/n0suuaRGH6uvvnruvvvu/OIXv8hll12WuXPnpmPHjvnNb36TjTbaKElyxRVX5JZbbsl9992XDz74IC1btszuu++eU089dZF3wSyJddddN/fdd1+uuuqqXHLJJZk9e3Y22WSTXHbZZfn+97+/0O3atGmTe+65J9dcc03OPvvsFEWRqqqq3Hjjjdlll12+dJ877rhjBg0alBtuuCEnn3xyVlpppWy11Va544470qlTp8Uee6NGjTJw4MBcddVVuf766zNjxoy0adMmt912Wzp37pwkOfXUU7P22mvnt7/9bW677basscYa2W677XL66aeXwpyFeeaZZ/LMM88k+Xwawm984xupqqrKr371q9IdWfM11Ou3xRZbZM8998w999yTv/zlLxk6dGiN5RUVFbnlllsyYMCA/PrXv84nn3ySDTbYIKeddtoCp1usbxVFHZ5+dcYZZ+TVV1/NnXfeWSPdfffdd3PkkUdmm222yZVXXlmvA13ezJtXnU8++bShh8EKpnHjyrRosVrOu+7RjJswuaGHU682Wb9FLj9l90ye/Gnmzq37g/GARfNewuJQJyyKGgEAoKGsvfaXBwfAsqlO82s899xzOfnkk2vdarjhhhvmxBNPzLPPPlsvgwMAAAAAAGD5V6dAat68eWnRosUCl6211lqZPn36Eg0KAAAAAACAFUedAqnWrVvnD3/4wwKXDRkyJFVVVUs0KAAAAAAAAFYcjeuy0QknnJCjjjoqU6ZMyV577ZVvfOMb+fjjj/PII4/kr3/9awYMGFDf4wQAAAAAAGA5VadAaocddsgvfvGL/OIXv8jzzz9fal977bVzxRVXpHfv3vU2QAAAAAAAAJZvdQqkkmTChAlp3bp17rrrrkydOjWjRo3KddddlylTptTj8AAAAAAAAFje1SmQuu2223LDDTfk0EMPzWabbZYk+eY3v5l33nknV111VVZZZZXsv//+9TpQAAAAAAAAlk91CqQeeOCBnHbaaTn66KNLba1atUq/fv2y1lpr5de//rVACgAAAAAAgCRJZV02+vDDD7PVVlstcFn79u3z3nvvLdGgAAAAAAAAWHHUKZDacMMN89e//nWBy4YNG5ZWrVot0aAAAAAAAABYcdRpyr4DDzwwl19+eebOnZtdd901LVu2zCeffJI///nP+fWvf50zzzyzvscJAAAAAADUg+rqIpWVFcvNvg855JC89NJLC13+3HPPZe21117SodXSr1+/TJgwIb/5zW8ybNiwHHrooXnyySezwQYb1Pu+vg7qFEgddNBB+eCDD3LHHXfkzjvvLLU3atQohx12WA4//PB6Gh4AAAAAAFCfKisrcuO9z2fCxKlLdb/rr7NGTjxwhzptu9tuu+X8889f4LKWLVsuybAW6vzzz8+8efPK0vfXUZ0CqSQ544wz8uMf/zivvvpqpkyZkubNm6dDhw5p0aJFfY4PAAAAAACoZxMmTs24CZMbehiLrWnTpmW5C+rLNGvWbKnub0VX50Aq+fzF6NGjR32NBQAAAAAA4Cvr1atXjjjiiLz00kt59tlns8Yaa6Rv377ZfPPN85Of/CRjx47NlltumV/84hfZaKONkiR/+9vfcsMNN+T111/P7Nmzs8kmm+S4447LnnvumaTmlH0sucqGHgAAAAAAAMCSuuqqq9KjR48MHTo0PXv2zCWXXJKLL744/fr1y913352PPvoo/fv3T5J8+OGHOfLII9OmTZs89NBD+cMf/pD27dvn3HPPzccff9zAR7JiWqYCqbFjx6Zz58556KGHSm0jR47MwQcfnE6dOqVnz54ZNGhQjW2qq6szYMCA9OjRIx07dsyRRx6Z8ePH11inPvoAAAAAAAAaxiOPPJLOnTvX+jr99NNL6+y000754Q9/mA033DCHHnpo5s6dm0MOOSTdu3dP+/bts9tuu+Wtt95KksyZMycnnXRSzjrrrGy88cbZbLPNcuyxx2bOnDkZN25cAx3lim2JpuyrT5999lnOPPPMzJgxo9Q2efLkHHHEEdl1113zk5/8JK+++mp+8pOfZM0118x+++2XJLnpppty33335Yorrsi6666bX/7ylznmmGMydOjQNGnSpF76AAAAAAAAGk6vXr1y5pln1mpfddVVS99vuummpe+bNm2aJNlggw1KbSuvvHLmzJmTJNlwww2z33775e67787o0aMzbty4jBw5Mkkyb968shzD190yE0hdf/31WW211Wq0PfDAA2nSpEkuueSSNG7cOJtttlnGjx+fgQMHZr/99sucOXNy++2356yzzsrOO++cJLnmmmvSo0ePPPHEE9ljjz3qpQ8AAAAAAKDhrLbaatl4442/dJ3GjWtHHpWVC54obsyYMTnwwAPTtm3b7LDDDtlll13SokWL/OAHP6iX8VLbMjFl3/Dhw3P//ffn5z//eY32ESNGpGvXrjWKqHv37hk7dmwmTZqUUaNG5dNPP0337t1Ly5s3b562bdtm+PDh9dYHAAAAAACw4rj33nvTsmXL3HnnnTnmmGOy8847l54dVRRFA49uxdTgd0hNmzYtZ599di644IKst956NZZ98MEHqaqqqtG2zjrrJEnef//9fPDBB0lSa7t11lkn//73v+utj7pq3HiZyPtYgTRqtOLX1NfhGKGhfR3+nX0djrHcvg7n8OtwjOX0dTh/X4djBACA5cWsWbPy0UcfLXBZ8+bNv3J/rVq1ygcffJBnnnkmm2++ed5444387Gc/S5LStH7UrwYPpC655JJ06tQpe+21V61ls2bNqvUMp5VXXjlJMnv27MycOTNJFrjO1KlT662PuqisrEiLFqstekWghubNV2noIQArAO8lLA51wqKoEQAAVmTrr7PGcrXPP/3pT/nTn/60wGVXX331V+7v0EMPzdtvv52zzz47c+bMySabbJLTTz89AwYMyOuvv56ddtqpzmNlwRo0kBoyZEhGjBiRRx55ZIHLmzZtWiuJnD17dpLPH1Q2/6Fkc+bMKX0/f51VVlml3vqoi+rqItOmzajz9rAgjRpVrvB/GJk2bWbmzatu6GHACs17CYtDnbAoagQAgIbiRoAlV11d5MQDd2iwfVdWVnylbX7zm98scp099tijxs8bbLBB/vnPf9Zo69u3b/r27Zvk85tULr/88lr97LPPPqXvr7zyytL33bp1q9UfX02DBlKDBw/OpEmT0rNnzxrtF198cQYNGpRvfvObmThxYo1l839ed911M3fu3FLbRhttVGOdNm3aJPn8trsl7aOu5s71yyt8VfPmVfu3Aywx7yUsDnXCoqgRAABWVF81EFpR9k3DatBAqn///pk1a1aNtu985zs5+eSTs/vuu+ePf/xj7rvvvsybNy+NGjVKkrzwwgvZdNNN07JlyzRr1iyrr756hg0bVgqTpk2bljfffDMHH3xwkqRr165L3AcAAAAAAAB116BP6V133XWz8cYb1/hKkpYtW2b99dfPfvvtl+nTp+f888/P6NGj89BDD+Wuu+7Ksccem+TzW+oOPvjg9O/fP08++WRGjRqV0047La1atUrv3r2TpF76AAAAAAAAoO4a9A6pRWnZsmVuu+22XHbZZenTp0/WXnvtnH322enTp09pnZNPPjlz587NBRdckFmzZqVr164ZNGhQmjRpUm99AAAAAAAAUHfLXCD13w8F69ChQ+6///6Frt+oUaOcddZZOeussxa6Tn30AQAAAAAAQN006JR9AAAAAAAArPgEUgAAAAAAAJSVQAoAAAAAAICyEkgBAAAAAABQVgIpAAAAAAD4Gimqq5erfffq1Ss9e/bM9OnTay3r169fDjnkkPoYGmXWuKEHAAAAAAAALD0VlZUZO3RgZk7691Ld7yot18umex5Tp23//e9/58orr8zPfvazeh4VS4tACgAAAAAAvmZmTvp3Zn74TkMPY7FtuOGG+d3vfpfvfve76dGjR0MPhzowZR8AAAAAALBM23vvvbPddtvlwgsvXODUfUkyZcqU/OQnP8nOO++cDh065MADD8yIESNKy6+//voccsghGThwYHbaaae0b98+hx56aN5+++3SOv/5z39y4YUXpnv37tlmm21y6KGH5u9//3vZj+/rQCAFAAAAAAAs0yoqKnLZZZdl2rRpueKKK2otnzdvXo488siMGDEiP//5z/P73/8+bdq0yeGHH14jUHrllVcyfPjw3Hrrrbnzzjvz/vvv5yc/+UmSpCiKHHPMMRk3blxuueWWPPDAA+nUqVMOPPDAvPnmm0vtWFdUAikAAAAAAGCZt/766+ess87Kgw8+mL/85S81lj333HN54403ctVVV6V79+7ZbLPNctFFF6WqqiqDBg0qrTd37tz84he/SJs2bbLNNtvkkEMOyd/+9rckyYsvvphXXnkl1113XTp27JjNNtssp59+ejp16pRf//rXS/VYV0SeIQUAAAAAACwXDjjggDz22GO58MILM3To0FL7W2+9lWbNmqWqqqrUVlFRkS5dutQIr77xjW9kzTXXLP3crFmzfPbZZ0mSN954I0myyy671NjnnDlzMnv27HIczteKQAoAAAAAAFguzJ+6b6+99qoxdV9RFKmoqKi1fnV1dRo3/n9RSJMmTRbad3V1dVZfffU89NBDtZZ92XYsHlP2AQAAAAAAy431118/Z599dh588MGMGDEiSdK6detMmzYtb731Vo11//a3v2XzzTdfrH6rqqoyffr0zJkzJxtvvHHpa+DAgXnyySfr/Ti+bgRSAAAAAADAcuWAAw7I9ttvn3fffTdJssMOO6R169Y544wzMmzYsIwZMyY/+clP8tZbb+Wwww5brD579OiRLbfcMqeeempeeOGFjB8/Pj//+c8zePDgbLbZZuU8nK8FU/YBAAAAAMDXzCot11vu9/mzn/0se+21V5KkcePGueOOO/Lzn/88ffv2zZw5c7LVVlvlzjvvTKdOnRar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7777pn379tl1112/tE/vJeW1qBpZ2u8l77333gLf31q3bp02bdoscBs1sniGDRu20HO7yy67lNb7qq/5113r1q1rXacB1LuCFcr1119fbLfddsXTTz9djBw5sjjyyCOL3r17F7Nnz17oNlVVVcXgwYPrvM933nmn6NixY3HCCScUo0aNKoYNG1Z897vfLc4///w698mSu+OOO4rWrVsXBx98cI32Tz75pOjWrVtx/vnnF6NHjy4efPDBon379sWDDz640L6uv/764tvf/na9jOuPf/xjsdVWW9XqTx0tXUcccUSx9957F8OHDy/GjBlTXHrppUWHDh2K0aNHF0XRcHVy/vnnFz179iyeffbZYty4ccWvfvWrok2bNsWLL75Ya93XXnutaNu2bVFVVbVE+2TBFlUjRVEUffr0Ka6++upi4sSJpa9JkyYttM/6qJFTTz21+O53v1sMHz68GDduXPGTn/yk6NixY/HBBx/UWleNlNcPfvCDYv/99y9ef/31YvTo0UXfvn2LHXbYoZgxY0ZpnYaokS864YQTiqqqqmLAgAELXK5Glp45c+YU++677wKvOxuiTkaNGlVUVVUVI0eOrLHf6dOn11pXnZTXk08+WbRv37748MMPa7wWM2fOLK2zLNaIa9ela8iQIcWWW25Z3HnnncW4ceOKG264oWjTpk3x8ssvF0XRcNeuw4YNK7bccsviqquuKsaPH1/cd999xZZbbln88Y9/rLWu95LyWlSNFMXSfy+ZO3dujX1NnDixeOONN4rOnTsXV199da311cjimz17dq1z+9xzzxVt27YtHnjggdJ6X/U1/7pb0r8PAiwOd0itQObMmZPbb789ffv2zc4775w2bdrkmmuuyYcffpgnnniibPu9++67s+aaa+aaa65J69ats+222+ayyy7Lgw8+mPfff79s+2XBPvzwwxx99NG57rrrsummm9Za/sADD6RJkya55JJLstlmm2W//fbL4YcfnoEDBy60z6Iolnhc06dPz5lnnpmzzjorm222Wa3l6mjpGT9+fJ5//vlcfPHF6dKlS771rW/l/PPPz7rrrpuhQ4cmaZg6mTlzZoYMGZLTTz89PXr0yMYbb5xjjz023bp1y+DBg2usO2PGjJx11lnp0qXLEu2TBVucGpk3b15Gjx6d9u3bZ+211y59rbXWWgvtd0lrZO7cuWnatGlpXBtvvHFOO+20zJw5s9ZdUmqkvCZPnpwNNtggl156adq3b5/NNtssJ5xwQj766KP861//StIwNfJF999/f8aOHZu11157gcvVyNJ1/fXXZ7XVVqvV3lB18tZbb6VZs2Zp06ZNjf3+9xjVSfm99dZb2XTTTbPOOuvUeC2aNm2aZNmtEdeuS09RFLnuuuty2GGH5bDDDsvGG2+cE088Mdtvv31eeumlJA33O87111+fXXfdNaeffno22mij7L///tlnn31q3VXuvaS8FqdGGuK9pFGjRjX2tfbaa+eqq65KVVVVTjnllBrrqpGvpkmTJjXO65prrpkrrrgi3/nOd/KDH/wgSd1ecwDKTyC1Ahk1alQ+/fTTdO/evdTWvHnztG3bNsOHD1/gNvNvBT/33HPTr1+/JMm///3vnHnmmdlhhx3SqVOnHHXUUfnnP/+50P2OHTs2HTp0SJMmTUptbdu2TVEUC9zvqFGj0rp161rLTjvttJx00klJkv/85z+58MIL071792yzzTY59NBD8/e//720blEUue2227LbbrulXbt22WabbXLsscfm3XffrXFs11xzTb797W9nhx12yNtvv53XX389P/rRj9K5c+d07do1ffv2XeF+YXzjjTeyxhpr5OGHH07Hjh1rLR8xYkS6du2axo0bl9q6d++esWPHZtKkSbXWv/7663PDDTeUplN57733knw+HcLee++dDh06pFevXvnVr36V6urqhY7rvffey9SpU/Pggw9m1113rbVcHS09LVq0yK233pp27dqV2ioqKlIURaZOnZqkYeqkoqIiv/rVr9KjR49ay+aPa77LLrssVVVV+d73vvelx6pO6mZxamTcuHGZPXv2AgPmBamPGmncuHGuuOKKbLfddkmSadOm5aabbspqq62WTp061VhXjZRXixYtcvXVV2eLLbZIknz88ccZNGhQWrVqlc033zxJw9TIfGPHjk3//v3zy1/+ssbnyhepkaVn+PDhuf/++/Pzn/+81rKGqpN//vOfpVr9Muqk/Bb1WiyrNeLadel5++23M2HChOy111412gcNGpRjjz02ScNcu86cOTMjRoyoNa7LL788F110UY027yXltTg10pDXJfP9+c9/zgsvvJBLLrkklZU1/xynRpbMPffck3//+98599xzS21f9TX/85//nDZt2mTChAk12n/4wx/miiuuSPL5fwA+7bTT0qVLl3Tr1i3HHXdcxo0bV1p3zpw5ueqqq7LrrrumXbt26datW04//fRMnjw5yf+bxvGmm27KDjvskF69emXatGmlqT87duyY7bbbLv369av1O/AX/etf/8oJJ5yQbt26pV27dundu3fuuuuu0vLrr78+hxxySAYOHJiddtop7du3z6GHHpq33367tM4HH3yQ448/Pp07d07Pnj3zxz/+cZHnaMyYMTnuuOPSrVu3bLPNNjn55JNLNfDQQw+lffv2mTZtWo1tvvvd7+baa69drPPXr1+/nHTSSTnyyCOz9dZb55ZbblnkmIDl0NK7GYtye+yxx4qqqqoa01sURVGcfPLJxY9//OMFbjNx4sSiqqqquPPOO4tp06YV//nPf4qdd965OPjgg4vXXnutGDlyZHHSSScVXbp0KSZMmLDAPs4777zi+9//fo22f/3rX0VVVVUxaNCgBW6zzz77FOedd17p52nTphXt27cvnnzyyaK6urrYf//9i4MPPrh49dVXi9GjRxdXXXVVsdVWWxVvvPFGURSfT0fXpUuX4sknnyzee++94sUXXyx69+5dnHDCCaU+q6qqim7duhWvv/568corrxTz5s0runfvXlx99dXFO++8U/zjH/8o9t133+Kwww5b5LldXp1zzjm1puzbc889i1/84hc12ua/Xq+//nqtPqZPn15ceeWVxU477VRMnDixmDt3bnHHHXcU7dq1K+6+++5i7NixxcMPP1x06dKluOKKKxZrXAMGDKg19YE6aliPPvpoUVVVVTz55JNFUSwbdVIURfHqq68WrVu3Ln7961+X2h5//PFihx12KD755JNi8ODBi5zSQp3Uj/+ukUcffbRo3bp1cfHFFxff/va3i1122aX46U9/WkybNm2B29d3jdx8881FVVVV0bp161rT8aiRpeuCCy4oqqqqinbt2hV/+ctfSu0NVSNz5swp+vTpU9x8881FURTFt7/97VpT9qmRpWfq1KlFz549i4cffrgoitpTwTRUnRxzzDHFfvvtVxx55JHFdtttV/Tp06cYMmRIjXXUydKx++67F4cddlhx4IEHFtttt11xwAEHFM8++2xp+bJaI65dl54///nPRVVVVTF8+PDiyCOPLLp37158//vfL12TFEXDXLuOHDmydG3Ut2/fonv37sXee+9dY7qwovBesjQsTo009LVrUXxep2effXatdjWyZGbNmlV069atuO6662q0f9XX/LPPPiu233774sYbbyy1vf3226XpWz/99NOid+/eRd++fYuRI0cW//znP4t+/foVXbt2LU0ffumllxY9e/YsXnzxxeK9994r/u///q/Ydttti8suu6woiqJ49913i6qqquK73/1u8a9//at4/fXXi0mTJpXq6r333itGjBhR9OrVq8Zr/EUzZswodthhh+KMM84oRo8eXYwbN6646qqriqqqquLNN98siuLzv7lstdVWxTHHHFOMHDmyGDFiRLHLLrsUhx56aOlY99hjj2L//fcv/vGPfxQvv/xy8b3vfe9Lp+x77733im222aZ0/K+99lrxox/9qPj2t79d/Oc//yk+/fTTolOnTjXeA1999dWiqqqqGDt27GKdv3POOaeoqqoqBg4cWLz99tvF+++/v8jXH1j+CKRWIEOGDCmqqqqKefPm1Wg/66yzvvQi4YsfOPfcc0/RoUOHGnPqzpo1q9hxxx1rXeDPN3z48KJ169bFLbfcUsyaNav48MMPi0MPPbRo27Zt6Y9B/+03v/lNsc022xSzZs0qiqIo7r///mL77bcvPvvss+Kvf/1rUVVVVWte34MOOqg455xziqL4fK75P//5zzWWX3311cUuu+xS47guv/zy0s9TpkwpWrduXdx9991FdXV1URSfz/3+yiuvLPTcLO8WFEjtuuuuxbXXXluj7Z133ildwC/IFwOk6urqYvvtty+uvPLKGuv8+te/LrbaaquFXtwtrL/51FHDGTFiRNGpU6fi+OOPL7UtC3UyZsyYYocddij222+/0nPwPvjgg6Jbt27FM888UxRFsVi/sKmTJbegGrnuuuuKLbfcsrj11luLf/7zn8Xjjz9e7LLLLsXBBx9c63NovvqskXHjxhVvvvlmcfXVVxdt2rQpnnrqqaIo1EhD+Ne//lX8/e9/L84777yiQ4cOxT/+8Y+iKBquRvr3718ccMABxdy5c4uiqB1IqZGl67TTTitOPfXU0s///YeOhqqTnj17FrvuumvxzDPPFG+++WZx0003FVtuuWXxu9/9rigKdbK0zJ49u2jbtm2x3377FcOGDSv+/ve/F5dddlnRunXr4q9//WtRFMtujbh2XXrm/57bq1ev4qGHHirefPPN4pprrqlRJw1x7Tp8+PCiqqqq2GGHHYq77rqrePPNN4s77rij2GqrrbyXLGWLUyMNfe363HPPFa1bt67xPNaiUCP14f777y86depUfPLJJzXa6/KaX3nllcV3vvOd0s9XX3110adPn6IoiuKBBx4ounTpUsyZM6e0fN68eTWuNYcMGVIMGzasRp+nn356KQiaH0jdddddpeVvvvlmUVVVVfp9piiK4q233ipGjhy5wDFOmjSpuOWWW4r//Oc/pbbZs2cXVVVVxe9///uiKD6v3datWxeTJ08urXPnnXcWW221VVEURfHss88WVVVVxfjx42uNY2GB1C9+8YuiR48eNZ5R//HHHxcdOnQo7rnnnqIoiqJfv341/gb105/+tDjggAMW+/ydc845RdeuXRe4f2DF0XjR91CxvJg/z/qcOXNK3yfJ7Nmzs8oqqyxWH2+99VY22WSTGnPqrrzyyunQocNCp+3r0qVLLr/88vz85z/PNddck9VWWy0nn3xyxowZk2bNmi1wm7322is///nP8+STT2b33XfP73//++y9995p3Lhx3njjjSTJLrvsUmObOXPmZPbs2UmSXr165bXXXsuAAQMyfvz4jBkzJv/617+y7rrr1thm4403Ln2/xhpr5Oijj86ll16aG264Idtvv3122mmnfPe7312sc7OiaNq0aebMmVOjbf55XXXVVRe5/SeffJKPP/4422yzTY32rl275rPPPsvbb7+9wKkCF0UdNYw///nPOfPMM9OxY8dcffXVpfaGrpOXX345J5xwQtZee+3ceuutadKkSYqiSL9+/bLbbrtlp512WuxjVCdLZmE10rdv3xx++OFp3rx5kqSqqiprr7129t9///z9739f5PvAktbI/PO95ZZb5o033sgdd9yRnj17qpEGMH9Kq0svvTSvvvpq7r777lxxxRUNUiMvvfRS7r333vz+979Po0aNavXpfWTpGjJkSEaMGJFHHnlkoes01HvJ//7v/6a6urp0jbzlllvm3//+dwYNGpT99ttPnSwlTZo0yfDhw9O4cePS1Hft2rXLmDFjMmjQoGy33XbLZI18//vfd+26FK200kpJkqOOOip9+vRJ8vnr8eabb+aOO+7Idttt1yDXrvNr9nvf+14OPfTQ0rjGjx+fO+64w3vJUrQ4NdLQ165DhgxJly5dakwf57qkfgwZMiTf+c530qJFixrtdXnN99tvv9x+++157bXX0qFDhzz88MM5+uijkyRvvvlmpk+fnm233bbGNrNnz86YMWOSfP5+8MILL+Tqq6/OuHHjMmbMmLz99tu1ng32xXO75ZZbZs8998xxxx2X9dZbL9tvv3169uyZXr16LfB411prrfzoRz/Ko48+mlGjRmX8+PEZOXJkktSYPvIb3/hG1lxzzdLPzZo1y2effZbk87/9rbHGGtloo41qjOPL/nb41ltvpV27djWmqm3ZsmU23XTT0t8L+/Tpk0MPPTQffPBBvvGNb+TRRx/Naaedttjn77/PDbBiEkitQNZbb70kycSJE2t8qEycODFt2rRZrD6KokhFRUWt9nnz5tWYj/u/7bvvvunTp08mTpyYFi1aZO7cubn88ssX+kGyxhprZNddd83DDz+c9u3b55VXXslPf/rTJJ9/gK6++up56KGHam03/4Nv4MCBuf7667Pvvvtm2223zSGHHJInn3yy1py3XwzmkuTMM8/Mj370ozzzzDOluZtvueWWDBkyZKHPmFjRtGrVKhMnTqzRNv/n/74AXZBiIQ92nTdvXpJ8aZ0sijpauu6+++5cdtll6d27d/r3719j7A1ZJ0888UTOOOOMtG/fPjfffHPpF4j3338/f/3rX/Pyyy9nyJAhSZK5c+cmSTp37pxjjz02xx13XK3+1EndfVmNVFRUlF6b+aqqqpJ8Ph/5on6pr0uNTJ8+Pc8991y23377GvveYost8tRTT6mRpWjSpEl54YUXsttuu5WCn8rKymy22Wal94qGqJHf//73mTFjRvbee+9S28yZM3PLLbfk9ttvz9ChQ9XIUjR48OBMmjQpPXv2rNF+8cUXZ9CgQfnjH//YIHWSfP4frv5b69at88gjj3gvWcoWFBZUVVXlueeeS9Iw7yXJl9fIfK5dl45WrVol+X+v+3ybb755nn766dI6S/vadX6/CxrXQw895L1kKVqcGmmo95Lk89f96aefLv1hfj41suQ++eSTvPLKK6VnhX1RXV7zzTffPB07dszDDz+cWbNm5eOPP84ee+yR5PNzu+mmm+bmm2+utd38z7JLLrkkjz76aPbZZ5/07Nkzxx9/fAYNGpQPP/ywxvr/fW6vuuqqnHjiiXn22Wfz17/+Naeffnq23nrr/PrXv661r48//jg//OEP06JFi+yyyy7Zbrvt0r59++y888411lvUa7Kgmv6yOv6yvxfOD4W7du2aDTbYIEOHDs1mm22WGTNmZLfddkuyeOcvqX1ugBVP5aJXYXnRpk2brL766hk2bFipbdq0aXnzzTdr/W+Mhamqqqr14NfZs2fnH//4x0If6vvYY4/lxBNPTEVFRdZdd900adIkjz32WFZdddV07tx5ofvab7/98vzzz+cPf/hD2rdvX3owelVVVaZPn545c+Zk4403Ln0NHDgwTz75ZJLk5ptvzkknnZRLLrkk+++/fzp16pRx48Yt9CIx+fxBpxdffHFatmyZAw88MAMGDMhtt92WMWPGZNSoUYt1flYEXbt2zd/+9rfShXOSvPDCC9l0003TsmXLBW7zxYuOli1bpmXLlvnb3/5WY50RI0ZkpZVWqhGGfhXqaOn67W9/m0svvTQHHXRQrr322loXqw1VJ0899VROPfXU9OzZM3fccUeNXyDWXXfdPP7443n44YczZMiQDBkyJCeffHKSz/9X3AEHHLDQ41UnX92iauSMM87IUUcdVaNt/sOSF/Z5saQ1Mnfu3Jx22ml5/PHHa7S//vrr2XzzzdXIUjRx4sScccYZeemll0ptn332Wd58883S//xtiBo588wz86c//an0+g8ZMiTrrLNODjjggAwZMkSNLGX9+/fPo48+WuP1SJKTTz45t956a5KGqZMpU6akS5cu+cMf/lBrv1tssYU6WYpGjRqVzp07Z8SIETXav/i7x7JYI4lr16Wpbdu2WW211fLaa6/VaH/rrbdKr19DXLuuu+662WijjRY6Lu8lS8/i1EhDvJfMN3r06EybNi3du3ev0a5GltzLL7+cioqKWnfdJHV7zZPPz+3jjz+exx9/PLvsskvpLqOqqqq8//77adasWem8rr/++rnqqqsyfPjwTJ48Offee28uueSSnHfeedl3332z5ZZb5u233/7Sc/vqq6/m8ssvz7e+9a0cfvjhufXWW3P55Zdn2LBhNf42N98jjzySKVOm5L777ssJJ5yQ3r17Z+rUqUkWHpz+t7Zt22batGn517/+VWobO3Zs/vOf/yx0m6qqqrz++us17kb9+OOPM378+NL1f0VFRfbZZ5889thj+eMf/5hdd921dNfwos4f8PUhkFqBNGnSJAcffHD69++fJ598MqNGjcppp52WVq1apXfv3gvdbtVVV82YMWMyefLk7LXXXmnevHlOPfXUvP766xk1alTOOuuszJgxI/vvv/8Ct99iiy3y7LPP5qabbsp7772Xxx57LJdeemlOOOGErLbaagvd7/bbb59vfOMbGThwYPbdd99Se48ePbLlllvm1FNPzQsvvJDx48fn5z//eQYPHlz6kFtvvfXy/PPPZ/To0Xn77bdzzTXX5PHHH681TcMXrbnmmhk6dGguuuiijBkzJmPHjs3gwYOzxhpr5Fvf+taiTu8KY7/99sv06dNz/vnnZ/To0XnooYdy1113LfB/FM236qqrZurUqRk7dmzmzp2bI488MnfffXfuueeejB8/Po888khuuOGG7L///gudomRR1NHSM3bs2Fx++eXp3bt3jj322EyaNCkfffRRPvroo9IFaEPUydSpU3POOedkq622yvnnn5+pU6eWxjVlypQ0bty4xi9VG2+8cekPDBtvvHGN6Qj+mzr5ahanRvbcc888//zzufnmm/POO+/kmWeeyXnnnZc999yzxlQkX7SkNbLmmmvmBz/4Qa655po888wzefvtt3P55Zfntddey/HHH69GlqI2bdpkxx13zE9+8pOMGDEib731Vs4555xMmzYthx9+eJKGqZGWLVvWqoHGjRtnjTXWKH2vRpaeddddt9b5Tj5/ndZff/0kDfdesv322+fqq6/OX/7yl4wbNy633nprHn744fTt21edLEVVVVXZYostSu8lY8aMyRVXXJFXX321dFfAslgjiWvXpalp06Y5+uijc+ONN2bo0KF55513cvPNN+f555/PEUcckaThfsc56aSTcv/99+eee+7Ju+++m/vvvz+DBw/OUUcd5b1kKVqcGmmI95L5Ro0alSZNmmTTTTet0a5GltyoUaOy4YYbLnCqubq85kmyxx575D//+U8efPDBGud27733zhprrJGTTjopr776asaMGZNzzz03zzzzTLbYYos0a9YszZo1y5NPPpnx48fnn//8Zy688MK88cYbX3puV1999fz2t7/NL3/5y9J2f/zjH7PJJpvUmoYw+fyOwJkzZ+ZPf/pT3n///Tz33HM5/fTTk+RL9/NF3bp1S8eOHXP22Wfn1Vdfzd///vf069cvlZUL/zPxgQcemOnTp+fMM8/MqFGj8vrrr+eUU05JixYtSneRJZ9P2/fGG2/kySefLE2huTjnD/gaWWpPq2KpmDt3bvGLX/yi6N69e9GpU6fimGOOKd59990v3WbAgAFFhw4diuOOO64ois8fFH/88ccXnTt3Ljp37lwcffTRxahRo760j6effrrYa6+9ig4dOhTf+c53irvvvnuxxnv11VcX7du3L6ZOnVqjfdKkSUW/fv2Kbt26FR06dCj69OlTPPHEE6Xl//jHP4of/vCHRYcOHYrtttuuOO6444p77723aN26del4F/Qwxpdffrk46KCDiq233rro2LFjcdhhh5Uevr4iOuecc2o8UHK+1157rfjhD39YtGvXrvj2t79d/OY3v/nSft59993iu9/9btGuXbvi1VdfLYqiKO66666id+/exVZbbVXssssuxS233FJ6gPyifPHhsF+kjpaOm2++uaiqqlrg1/wH3RbF0q+Thx9+eKHjWlAdF8XiPfR3PnWy+Ba3Rv73f/+32GeffYoOHToUO+ywQ3HllVeWHq68IPXxXjJ79uzi6quvLnr27Fm0a9eu2H///Rf6sPKiUCPlNG3atOLiiy8udthhh6JDhw7FkUceWbz11ls11mmIGvlvX3xQ8oKokaVrQcfZEHXy6aefFldeeWWx8847F+3atSu+973v1XjN/ps6KZ9JkyYV5557brHDDjsU7du3X+D7+rJaI65dl67bb7+96NWrV7HVVlsVe++9d63Xo6F+xxkyZEix2267FVtttVXxne98p3jggQcWuq73kvJaVI001HXJrbfeWuywww6LdQxq5Ku5+OKLix/+8IcLXf5VX/P5zjjjjKJHjx61Xtt33nmnOOmkk4ptttmm6NSpU3HggQfW+Mx67rnnij333LNo3759seOOOxZnnHFG8atf/aro1KlT8emnnxbvvvtuUVVVVbz44os1+n3qqaeKfffdt+jUqVOx9dZbFyeccEIxfvz4BY6turq6+OUvf1lsv/32RYcOHYrddtutuP3224uDDjqo6NevX1EUC/6by3/X1ieffFKcfvrpRefOnYvtttuuuPPOO4vtt9++1uv+RX//+9+Lww47rOjQoUPRpUuX4pRTTikmTJhQa73DDjus6NGjRzFv3ryvdP4W9jcsYMVSURSLeT8nlMG5556bzz77LP3792/oobAcU0csDnXCoqgRFkWNsDjUCYuiRlgc6oRFUSPlc+ihh6Zz5861nvsFwJJb+NPqoIzm3x4+dOjQ3HPPPQ09HJZT6ojFoU5YFDXCoqgRFoc6YVHUCItDnbAoaqR8/vznP2fkyJF55ZVX8vOf/7yhhwOwQhJI0SAGDx6cp59+On379k2HDh0aejgsp9QRi0OdsChqhEVRIywOdcKiqBEWhzphUdRI+QwcODDjxo3LpZdemvXWW6+hhwOwQjJlHwAAAAAAAGVV2dADAAAAAAAAYMUmkAIAAAAAAKCsBFIAAAAAAACUlUAKAAAAAACAshJIAQAAAAAAUFYCKQAAWMrOPvvstG7dOrfeeutS3e/111+f1q1b1/rq1KlTdttttwwYMCBz585dqmMCAADg66FxQw8AAAC+TqZPn57HH388VVVVeeCBB3LMMcekoqJiqY7h/vvvr/Hz5MmTM3To0Nx444357LPPcsYZZyzV8QAAALDiE0gBAMBS9Mc//jHz5s3LBRdckEMPPTTPPfdcevTosVTH0KlTp1pt3/72t/Pee+/lwQcfFEgBAABQ70zZBwAAS9HgwYPTrVu3dOvWLZtuumnuu+++WusMGjQou+yySzp06JADDjggTz31VFq3bp1hw4aV1nnrrbdy7LHHZuutt87WW2+dE088Me++++4SjW311Vev1fa73/0u++67bzp16pQOHTrke9/7Xh599NHS8oceeiht27bNa6+9lv333z/t27dPz549M3DgwBr9TJw4Maeddlq23XbbdO3aNRdddFGuueaa9OrVq9b+9thjj7Rr1y49e/bM9ddfbxpBAACAFYBACgAAlpIxY8bktddeS58+fZIk++67b/7v//4vH374YWmdG264If37989uu+2Wm266KR07dsxpp51Wo5+xY8fmgAMOyKRJk3LllVfmsssuy7vvvpsDDzwwkyZNWuQ45s6dW/qaM2dOJk6cmDvuuCPPP/989tlnn9J699xzTy666KLssssuueWWW/LLX/4yK620Us4666y8//77pfWqq6tz6qmnZvfdd8+tt96abbbZJv37989f/vKXJMmcOXNy2GGH5eWXX855552XK664IqNGjcrtt99eY1y33HJLLrzwwmy33Xb51a9+lYMOOigDBw7MRRdd9JXPNQAAAMsWU/YBAMBS8uCDD6Z58+bZddddkyT77LNPrr322vzud7/LSSedlBkzZmTgwIE56KCDcuaZZyZJdtxxx8ycObPGc59uuOGGNG3aNHfeeWfprqbtttsuu+66a2677bacc845XzqOrbbaqlbbN7/5zfTt2zc//vGPS23vvvtujjzyyJx44omltg022CD77rtvXn755Xzzm99MkhRFkRNOOCE/+MEPkiTbbLNNnnjiiTz99NPp0aNHHn744bz99tsZPHhw2rVrlyTp3r176TwkyX/+85/cfPPN2X///XPBBReUjn3NNdfMBRdckCOOOCJbbLHFYp5pAAAAljUCKQAAWArmzp2bhx9+OLvuumtmz56d2bNnp2nTpunWrVt+97vf5fjjj8+rr76aWbNm5X/+539qbLvnnnvWCKRefPHFdOvWLU2bNi1NZ7f66qunS5cu+etf/7rIsTz44INJkk8//TS//vWvM2zYsJx//vk1AqIk6devX5LPw6Jx48Zl3LhxeeGFF5Ikn332WY11O3fuXPq+SZMmWWuttTJjxozSeDfccMNSGDV/vN/+9rdL0xC+8sormTlzZnr16lVjir75U/o9//zzAikAAIDlmEAKAACWgqeffjoff/xxHnrooTz00EO1lv/f//1fZs2alSRZa621aiz7xje+UePnKVOm5NFHH63xLKf5/nvbBWnfvn3p+2233TZHHXVUTj311Nxxxx3p2rVradk777yTiy66KC+++GIaN26cb33rW2ndunWSz++K+qKmTZvW+LmysrK0zuTJk9OyZcta4/jicU2ZMiVJatyh9UUTJ05c5HEBAACw7BJIAQDAUvDggw9m/fXXzxVXXFFr2cknn5z77rsvxx13XJLkk08+ybe+9a3S8k8++aTG+s2aNcv222+fI444olZfjRt/tUv8ysrKXH755dl9991z7rnn5o9//GNWXnnlVFdX58c//nFWWmmlPPDAA2nbtm0aN26c0aNH5+GHH/5K+1h33XUzfvz4Wu1ffN5V8+bNkyT9+/fPJptsUmvd/w7lAAAAWL5UNvQAAABgRffxxx/nL3/5S/bYY49069at1tfuu++e559/Ps2aNUuzZs3y+OOP19j+scceq/Hztttum9GjR2fLLbdM+/bt0759+7Rr1y533nlnnnjiia88vvXWWy/HH3983n333dx6661JPr+raezYsfn+97+fDh06lIKuZ599NklSXV292P1vu+22effddzNy5MhS2+zZs0t9JUnHjh2z0kor5cMPPywdU/v27bPSSivlqquuynvvvfeVjwsAAIBlhzukAACgzH7/+99n7ty52WOPPRa4vE+fPvntb3+boUOH5uijj86AAQOyyiqrZNttt81LL72Ue++9N8nndzMlyQknnJADDjggxx57bA488MCsvPLKuf/++/PnP/85AwYMqNMYDz/88Dz44IMZOHBg9tlnn2y44YZZf/31c88996RVq1Zp3rx5nnvuudx1111JkpkzZy5233vuuWduvfXWnHjiiTnllFPSvHnz3H777Zk0aVK++c1vJklatGiRo48+Otddd12mT5+ebt265cMPP8x1112XioqKtGnTpk7HBQAAwLLBHVIAAFBmv//977PFFlssNFTp0KFDvvWtb2Xw4ME58sgjc9JJJ2XIkCE59thjM2LEiJx55plJklVXXTVJ0qZNm9xzzz2pqKjI2WefnZNPPjkfffRRbrzxxnznO9+p0xibNGmS8847L7Nnzy5NK3jTTTdl3XXXTb9+/XLqqafm1Vdfzc0335xvfetbGTFixGL33bhx4wwaNCht27bNJZdckrPPPjtVVVXp3bt36ZiS5NRTT02/fv3yxBNP5Jhjjskvf/nLbLPNNrn77rvTrFmzOh0XAAAAy4aK4r+fRgwAADSIuXPnZujQoenWrVvWW2+9Uvs999yTn/3sZxk2bFjpWUvLk3/96195++23853vfCcVFRWl9v322y/rrbdebrjhhgYcHQAAAEuDKfsAAGAZ0bhx4wwcODB33XVXjj/++LRo0SKjRo3Kddddl3322We5DKOSZMaMGTnllFPyox/9KL179868efMydOjQvPHGGznrrLMaengAAAAsBe6QAgCAZci7776bq6++OsOGDcu0adPyzW9+M3vvvXeOPfbYrLTSSg09vDr73//93wwaNChjxoxJURRp27Ztjj/++Oy4444NPTQAAACWAoEUAAAAAAAAZVXZ0AMAAAAAAABgxSaQAgAAAAAAoKwEUgAAAAAAAJSVQAoAAAAAAICyEkgBAAAAAABQVgIpAAAAAAAAykogBQAAAAAAQFkJpAAAAAAAACgrgRQAAAAAAABl9f8BpaqNV7eZnBQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.catplot(x='Age Range', kind='count', hue='Notice Preference Definition', data=benachrichtigung, aspect=3, order=[\"0 to 9 years\",\"10 to 19 years\",\"20 to 24 years\",\"25 to 34 years\",\"35 to 44 years\",\"45 to 54 years\",\"55 to 59 years\",\"60 to 64 years\",\"65 to 74 years\",\"75 years and over\"])\n", "#wenn data=df gewählt wird, würden wir auch die Werte für 'print' sehen" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Um besser die Zahlen zu verstehen, hilft uns eine Kreuztabelle:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Age Range0 to 9 years10 to 19 years20 to 24 years25 to 34 years35 to 44 years45 to 54 years55 to 59 years60 to 64 years65 to 74 years75 years and overAll
Notice Preference Definition
Email28740549362270188200776184516517336155392717015069392474
None3952119212680446941013154174021154544422842904
All32692668572538192669817194831919076176543171419297435378
\n", "
" ], "text/plain": [ "Age Range 0 to 9 years 10 to 19 years 20 to 24 years \\\n", "Notice Preference Definition \n", "Email 28740 54936 22701 \n", "None 3952 11921 2680 \n", "All 32692 66857 25381 \n", "\n", "Age Range 25 to 34 years 35 to 44 years 45 to 54 years \\\n", "Notice Preference Definition \n", "Email 88200 77618 45165 \n", "None 4469 4101 3154 \n", "All 92669 81719 48319 \n", "\n", "Age Range 55 to 59 years 60 to 64 years 65 to 74 years \\\n", "Notice Preference Definition \n", "Email 17336 15539 27170 \n", "None 1740 2115 4544 \n", "All 19076 17654 31714 \n", "\n", "Age Range 75 years and over All \n", "Notice Preference Definition \n", "Email 15069 392474 \n", "None 4228 42904 \n", "All 19297 435378 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.crosstab(\n", " benachrichtigung['Notice Preference Definition'],\n", " benachrichtigung['Age Range'],\n", " margins=True\n", ")\n", "# Beachte, dass wir hier eine Teilmenge des Datensatzes betrachten über die Variable \"benachrichitigung\". \n", "# D.h. wir blenden die Ereignisse aus, wo in der Spalte 'Notice Preference Definition' nicht \n", "# 'Email' oder 'Print' steht." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "###### WICHTIG:\n", "Beachte, dass die Summe der Nutzer, die per Mail informiert werden hier 392474 ergibt. Wir haben aber bei Frage 2 festgestellt, dass eigentlich 393301 Nutzer per Mail informiert werden möchten.\n", "Dies liegt daran, dass offensichtlich in einigen Einträgen (Zeilen des Datensatzes) zwar im Feld \"Notice Preference Definition\" der Wert \"Email\" steht, aber offensichtlich im Feld \"Age Range\" kein Eintrag steht. In der Kreuztabelle werden die beiden Merkmale 'Age Range' und 'Notice Preference Definition' betrachtet und somit nur die Einträge, wo entsprechednd beide Felder ausgefüllt sind.\n", "\n", "(Das ist übrigens unabhängig ob man die Kreuztabelle über die \"große\" Variable \"df\" oder \"benachrichtigung\" berechnet, probiere es gerne aus!)\n", "\n", "----" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Age Range0 to 9 years10 to 19 years20 to 24 years25 to 34 years35 to 44 years45 to 54 years55 to 59 years60 to 64 years65 to 74 years75 years and over
Notice Preference Definition
Email0.0732280.1399740.0578410.2247280.1977660.1150780.0441710.0395920.0692280.038395
None0.0921130.2778530.0624650.1041630.0955850.0735130.0405560.0492960.1059110.098546
All0.0750890.1535610.0582960.2128470.1876970.1109820.0438150.0405490.0728420.044322
\n", "
" ], "text/plain": [ "Age Range 0 to 9 years 10 to 19 years 20 to 24 years \\\n", "Notice Preference Definition \n", "Email 0.073228 0.139974 0.057841 \n", "None 0.092113 0.277853 0.062465 \n", "All 0.075089 0.153561 0.058296 \n", "\n", "Age Range 25 to 34 years 35 to 44 years 45 to 54 years \\\n", "Notice Preference Definition \n", "Email 0.224728 0.197766 0.115078 \n", "None 0.104163 0.095585 0.073513 \n", "All 0.212847 0.187697 0.110982 \n", "\n", "Age Range 55 to 59 years 60 to 64 years 65 to 74 years \\\n", "Notice Preference Definition \n", "Email 0.044171 0.039592 0.069228 \n", "None 0.040556 0.049296 0.105911 \n", "All 0.043815 0.040549 0.072842 \n", "\n", "Age Range 75 years and over \n", "Notice Preference Definition \n", "Email 0.038395 \n", "None 0.098546 \n", "All 0.044322 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Nun möchten wir das prozentual betrachten:\n", "pd.crosstab(\n", " benachrichtigung['Notice Preference Definition'],\n", " benachrichtigung['Age Range'],\n", " margins=True, normalize=0\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Antwort auf Frage 3:\n", "\n", " Die Frage können wir wie folgt beantworten. \n", " Von allen Nutzern, die per Mail informiert werden möchten, sind\n", " - ca. 7% in der Alterklasse 0 bis 9 Jahre,\n", " - ca. 14% in der Altersklasse 10 bis 19 Jahre,\n", " \n", " ...\n", " \n", " - ca. 7% in der Altersklasse 65 bis 74 Jahre,\n", " - ca. 4% in der Altersklasse 75 Jahre und älter.\n", "\n", "Im Vergleich dazu, sind von allen Nutzern, die nicht informiert werden möchten\n", "- ca. 9% in der Altersklasse 0 bis 9 Jahre,\n", "- ca. 28% in der Altersklasse 10 bis 19 Jahre,\n", "\n", "...\n", "\n", "- ca. 11% in der Altersklasse 65 bis 74 Jahre,\n", "- ca. 10% in der Altersklasse 75 Jahre und älter.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Frage 4: Wie viele Ausleihen werden im Mittel pro Altersgruppe und pro Jahr getätigt? Ist die Streuung zwischen den Gruppen gleich?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Für diese Fragestellung sind die Spalten 'Total Checkouts' und 'Age Range' relevant. Bei der ersten handelt es sich um ein metrisches Merkmal, die zweite ist ordinal.\n", "Wir definieren eine neue Spalte, die die durchschnittliche jährliche Ausleihe eines Nutzers ausgibt.\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "df['Circulation Active Year'] = pd.to_numeric(df['Circulation Active Year'], errors='coerce')\n", "df['Membership Duration Years'] = (df['Circulation Active Year'] - df['Year Patron Registered'])+1 \n", "# hier werden der Einfachheit ganze Jahre angenommen\n", "df[\"Average Checkouts per Year\"] =(df['Total Checkouts']/df['Membership Duration Years'])\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Patron Type CodePatron Type DefinitionTotal CheckoutsTotal RenewalsAge RangeHome Library CodeHome Library DefinitionCirculation Active MonthCirculation Active YearNotice Preference CodeNotice Preference DefinitionProvided Email AddressYear Patron RegisteredWithin San Francisco CountyMembership Duration YearsAverage Checkouts per Year
05Staff5315NaNb2BayviewMar2023.0zEmailTrue2003False21.02.523810
15Staff480378NaNe9ExcelsiorJun2023.0zEmailTrue2003False21.022.857143
25Staff703345 to 54 yearsn4Noe ValleyJan2023.0zEmailTrue2011False13.05.384615
35Staff39342140NaNo2Ocean ViewJul2023.0zEmailTrue2003False21.0187.333333
45Staff11181035NaNo7OrtegaJul2023.0zEmailTrue2003False21.053.238095
\n", "
" ], "text/plain": [ " Patron Type Code Patron Type Definition Total Checkouts Total Renewals \\\n", "0 5 Staff 53 15 \n", "1 5 Staff 480 378 \n", "2 5 Staff 70 33 \n", "3 5 Staff 3934 2140 \n", "4 5 Staff 1118 1035 \n", "\n", " Age Range Home Library Code Home Library Definition \\\n", "0 NaN b2 Bayview \n", "1 NaN e9 Excelsior \n", "2 45 to 54 years n4 Noe Valley \n", "3 NaN o2 Ocean View \n", "4 NaN o7 Ortega \n", "\n", " Circulation Active Month Circulation Active Year Notice Preference Code \\\n", "0 Mar 2023.0 z \n", "1 Jun 2023.0 z \n", "2 Jan 2023.0 z \n", "3 Jul 2023.0 z \n", "4 Jul 2023.0 z \n", "\n", " Notice Preference Definition Provided Email Address \\\n", "0 Email True \n", "1 Email True \n", "2 Email True \n", "3 Email True \n", "4 Email True \n", "\n", " Year Patron Registered Within San Francisco County \\\n", "0 2003 False \n", "1 2003 False \n", "2 2011 False \n", "3 2003 False \n", "4 2003 False \n", "\n", " Membership Duration Years Average Checkouts per Year \n", "0 21.0 2.523810 \n", "1 21.0 22.857143 \n", "2 13.0 5.384615 \n", "3 21.0 187.333333 \n", "4 21.0 53.238095 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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801hxAEAAAAAAAAghOR7QsaUlBStXLlSR44cUbly5VS/fn2VLFnSn7EBAAAAAAAACFL5KjxOmjRJb775ptLS0rzLIiMj1bt3bz344IN+Cw4AAAAAAABAcPK58Dhv3jyNHj1at912m26++Wadd9552rdvnz7++GONHz9e559/vhITEwsjVgAAAAAAAABBwufC4zvvvKO77rpLzz33nHdZ9erV1bRpU8XExOjdd9+l8AgAAAAAAAA4XJivD9i+fbvatGmT67rWrVtry5YtBQ4KAAAAAAAAQHDzufBYqVIl7dy5M9d1O3bs4AYzAAAAAAAAAHwvPLZq1Uqvv/66Vq5caVm+YsUKjRs3Tq1atfJXbAAAAAAAAACClM9zPPbv318///yz7rrrLp1//vmqUKGC9u3bp927d6tGjRp6/PHHCyNOAAAAAAAAAEHE58JjyZIlNXfuXM2bN0/Lli3T4cOHlZCQoO7du6tDhw6KiYkpjDgBAAAAAAAABBGfC49HjhxRqVKldPfdd+vuu+/Osf6jjz7irtYAAAAAAACAw/k8x2OXLl2UkpKSY/nOnTt1//336+mnn/ZLYAAAAAAAAACCl8+FxwMHDqhr1646fPiwJMkYo3feeUft27fX77//rmeeecbvQQIAAAAAAAAILj4XHt9//30dPXpUXbt21dKlS3X77bfrxRdfVKtWrfT555/rnnvuKYw4AQAAACBkhIWFWVoAAEKRz+9y559/vmbOnKnMzEx17dpVR44c0dtvv61XX31V5513XmHECAAAAAAhxePxWFoAAEJRvr5eq1Chgt577z3VrVtXERERql27tr/jAgAAAAAAABDE8nRX69q1a8vlcuVYboyRJDVv3ty7zOVyac2aNX4KDwAAAAAAAEAwylPh8cEHH8y18AgAAAAAAAAAuclT4bF///45lmVkZCgyMlKSdPz4caWnp6ts2bJ+DQ4AAAAAAABAcPJ5jseMjAw988wzuuOOO7zLVq5cqauuukojRoxQVlaWXwMEAAAAACCYhYWFS5LCw8NtjgQAAsvnwuPYsWP12Wef6dZbb/Uuq1u3rgYNGqSPPvpIkydP9md8AAAAAAAENY/nRAcdOuoAcJo8DbU+3aeffqpBgwapU6dO3mVlypTRfffdp7CwML3zzjvq3bu3X4MEAAAAAAAAEFx87vF48OBBXXjhhbmuq1atmvbu3VvgoAAAAAAAAAAEN58LjzVq1NAXX3yR67qvvvpKVatWLXBQAAAAAAAAAIKbz0Ot77//fj3++OM6dOiQ2rRpo/Lly+vAgQP6+uuv9eWXX+qFF14ojDgBAAAAAAAABBGfC4833nijjhw5ovHjx+vLL7/0Lo+NjdWzzz5ruekMAAAAAAAAAGfyufAoSXfeeac6deqkrVu36tChQypdurSqV6+usDCfR24DAAAAAAAACEH5rhSmpKRo69atWr9+vcqVK6dt27bJGOPP2AAAAAAAAAAEqXz1eJwwYYImTpyotLQ0uVwuJSQkaMyYMTp06JDefvttlS5d2t9xAgAAAAAAAAgiPvd4nDFjhsaNG6du3bppzpw53l6OXbp00Y4dOzR27Fi/BwkAAAAAAAAguPhceHzvvffUs2dPPfzww6pbt653eYsWLfTII4/om2++8WuAAAAAAAAAAIKPz4XH3bt3q0mTJrmuq169uvbv31/goAAAAAAAAAAEN58Lj1WqVNGKFStyXffHH3+oSpUqBQ4KAAAAAAAAQHDz+eYyt912m8aNG6eYmBi1bNlSknT8+HF98cUXmjhxorp16+bvGAEAAAAAAAAEGZ8Ljw888IB27typUaNGadSoUZKkzp07S5Lat2+vXr16+bS/5ORkvfjii/rhhx/kdrvVuHFjDRw4UDVr1pQkrV27ViNGjNAff/yhsmXL6r777lP37t19DRsAAAAAAABAAPlceHS5XPr3v/+tbt266ZdfftHhw4dVqlQpNWnSRLVq1fI5gD59+igsLEyTJ09W8eLFNXbsWHXt2lVfffWV0tLS1K1bN7Vp00bDhg3TypUrNWzYMJUtW1YdO3b0+VgAAAAAAAAAAsPnwmO2atWqqVq1agU6+MGDB3XhhReqT58+3qJl3759dcstt2jjxo1asmSJoqKiNHToUEVERKhGjRravn27Jk+eTOERAAAAAAAAKMJ8Ljx6PB598MEHWrp0qVJSUuTxeCzrXS6Xpk+fnqd9xcbGavTo0d5/79+/X1OnTlXlypVVs2ZNjRs3To0bN1ZExKkwmzVrpokTJyo5OVnly5f3NXwAAAAAAAAAAeBz4XHMmDGaPHmyqlSpogsuuEAul8uy3hiTr0CeffZZzZkzR1FRUZowYYKKFy+uPXv2KC4uzrJdxYoVJUm7d+8uUOExIsLnG3oHrczMU79reHiYo353JyLfzka+nYV8Owv5dhby7Szk21nIt7OQ79DG5+9z87nw+NFHH+mee+7Rs88+69dAunTpok6dOumDDz7Qgw8+qPfff19paWmKioqybBcdHS1Jcrvd+T5WWJhLsbElChRvMElLC/f+HBtbQjExMTZGg8JGvp3NSX/bQL6dhnw7C/l2FvLtLOTbWch3aOPz97n5XHg8evSorrvuOr8Hkn0X6+HDh2vlypWaMWOGYmJilJ6ebtkuu+BYvHjxfB/L4zFKSTme/2CDTFpamvfngwePKSYmy8ZoUNjIt7MdPHjM7hAQQOTbWci3s5BvZyHfzkK+nYV8hzYnf/4uXbqYwsPP3cPT58Lj5ZdfrpUrV6pp06b5Cux0ycnJWrJkia6//nqFh5+oEoeFhalGjRpKSkpS5cqVlZSUZHlM9r8rVapUoGNnZnrOvVGIyMryWH520u/uROTb2ci3s5BvZyHfzkK+nYV8Owv5dhbyHdr4/H1ueSo8Llu2zPtz27Zt9eKLL+r48eO67LLLcu152Lhx4zwdPCkpSY8//rjKly+vK664QpKUkZGhNWvWqFWrVjrvvPM0a9YsZWVleQuTS5YsUbVq1bixDAAAAAAAAFCE5anweN9991luImOM0cSJEyUpx3KXy6W1a9fm6eC1a9fWVVddpWHDhun5559X6dKl9dZbbyklJUVdu3ZVdHS0pkyZosGDB6tHjx5avXq1pk+frmHDhvnyOwIAAAAAAAAIsDwVHt99991CObjL5dJrr72mV199VY888oiOHDmiRo0aaebMmTr//PMlSVOmTNGIESOUmJioChUqaODAgUpMTCyUeAAAAAAAAAD4R54Kj02aNCm0AEqVKqWhQ4dq6NChua5PSEjQ7NmzC+34AAAAAADAGYwxSk93B+x4bnfauTfKp6ioaMsoVKAo8unmMl9//bVKlCjhnY9ROvGi7dmzpxITE3XDDTf4PUAAAAAAAICCMsbo+eeHaNOmDQE7Zs+eXQpt37VqxWvw4GEUH1Gknfu+1zrx4nzqqafUv39/LV682LIuKSlJa9as0eOPP64hQ4YUSpAAAAAAAAAFRZEOCKw89Xj8+OOP9fHHH2vAgAHq3LmzZV2lSpX0ww8/aPLkyRo7dqyaNWtGz0cAAAAAAFCkuFwuDR48rFCHWrvdbvXv31OS1Lp1O3XqdHehHYuh1ggGeSo8zpo1S3feeae6d++e6/qwsDD16tVLGzdu1IwZMyg8AgAAAACAIsflcik6OiYgx+rU6e6AHQsoqvI01HrLli265pprzrnd//3f/2nz5s0FDgoAAAAAAABAcMvzHI/h4eHn3K5EiRLKzMwscFAAAAAAAAAAglueCo9Vq1bV6tWrz7ndypUrdf755xc4KAAAAAAAAADBLU+Fx5tuuknvvvuuduzYccZtduzYoXfffVetW7f2W3AAAAAAAAAAglOeCo933323KleurE6dOuntt9/Wli1blJ6errS0NG3evFnTpk3THXfcodKlS6tr166FHDIAAAAAAACAoi5Pd7WOiorS1KlTNXDgQL388st65ZVXLOuNMbr66qs1bNgwlS1btjDiBAAAAAAAABBE8lR4lKTy5ctr6tSpWrdunb7//nvt3btXLpdLF154oa666irVrFmzMOMEAAAAAAAAEETyXHjMVrt2bdWuXbswYgEAAAAAAAAQIvI0xyMAAAAAAAAA+ILCIwAAAAAAAAC/o/AIAAAAAAAAwO8oPAIAAAAAAADwuwIVHo8cOaLNmzcrPT1dWVlZ/ooJAAAAAAAAQJDLV+Fx6dKluv3229WkSRO1b99eGzdu1OOPP64XX3zR3/EBAAAAAAAACEI+Fx6XLFmi7t27KyYmRgMGDJAxRpJUp04dvfvuu5o2bZrfgwQAAAAAAAAQXHwuPL722mtq3bq13nvvPXXp0sVbeOzZs6d69OihDz/80O9BAgAAAAAAAAguPhce165dq44dO0qSXC6XZV3z5s21a9cu/0QGAAAAAAAAIGj5XHgsVaqU9u3bl+u6v//+W6VKlSpwUAAAAAAAAACCW4SvD2jdurXGjBmjuLg41alTR9KJno979uzRW2+9pZYtW/o7RgAAAAAIGGOM0tPdATue251WaPuOiorOMVINAIBA8bnw+Pjjj2vVqlW64447dN5550mSHnvsMe3Zs0dVqlTRY4895vcgAQAAACAQjDF6/vkh2rRpQ8CO2bNnl0Lbd61a8Ro8eBjFRwCALXwuPJYpU0YffvihFixYoF9++UWHDh1SqVKldN9996lDhw4qVqxYYcQJAAAAAAFBkQ4AAP/wufAoSVFRUbrjjjt0xx13+DseAAAAALCNy+XS4MHDCnWotdvtVv/+PSVJV1xxlbp1e6DQjsVQ63NjaD0AFB6fC4/jx48/47qwsDAVL15cVatWVfPmzRUVFVWg4AAAAAAg0Fwul6KjYwJyrG7dHgjYsZATQ+sBoHD5XHhcuHCh9uzZo/T0dEVERKhs2bI6dOiQMjMz5XK5ZIyRJNWsWVPvvvuuypUr5/egAQAAAADwB4p0AFB4fC48Pvzww3ruuef04osvql27dgoPD5cxRosXL9aQIUM0ZMgQ1ahRQ48++qhGjx6t559/vjDiBgAAAACgQAI9tL5fv0eVkNCg0I7FUGsARY3Phcdx48bpkUce0Q033OBd5nK51KZNG+3fv19jx47V559/rt69e+ull17ya7AAAAAAAPhTIIfWJyQ0YGg9AEcJ8/UBf//9t6pWrZrrugsuuEC7du2SJFWuXFmHDx8uWHQAAAAAAAAAgpLPPR5r1qypDz/8UC1atMixbu7cuapWrZokadu2bapYsWLBIwQAAABsxl1vAQAAfOdz4bF///568MEHdeutt6pdu3YqX768kpOT9dVXX2n9+vV6/fXXtWbNGr3yyivq2LFjYcQMAAAABAx3vQUAAMgfnwuPLVu21NSpUzVu3DiNHz9eWVlZioyM1GWXXabp06erUaNG+uabb3TjjTfqkUceKYSQAQAAgMCiSAcAAOA7nwuPktSsWTM1a9ZM6enpOnz4sMqXL6+wsFPTRbZq1UqtWrXyW5AAAACAXQJ919vzzqugkSNHFdqxGGoNAAACJV+Fx7S0NK1fv14ZGRkyxmjbtm3yeDxKTU3V8uXLNWDAAH/HCQAAANgmkHe9HTlyFHe9BQAAIcHnwuMvv/yihx9+WCkpKbmuL1GiBIVHAAAAAAAAwOF8Ljy+9tprKlu2rJ5//nktXLhQYWFh6tChg77//nt98MEHmjx5cmHECQAAAAAAACCI+Fx4XL9+vYYPH662bdvq6NGjev/993XNNdfommuuUUZGhiZMmKBJkyYVRqwAAAAAAAAAgkTYuTex8ng8qly5siSpWrVq2rRpk3ddu3bttGbNGv9FBwAAAAAAACAo+Vx4vOiii7R+/XpJUtWqVZWamqrNmzdLkjIzM3Xs2DH/RggAAAAAAAAg6PhceGzfvr1GjRql9957T7GxsapXr56ef/55ffPNN3rjjTdUs2bNwogTAAAAAAAAQBDxeY7HHj166ODBg1q9erUk6bnnntMDDzygvn37qmTJkpowYYLfgwQAAAAAAAAQXHwuPG7dulWDBg3y/rt+/fr6+uuvtWXLFlWvXl0lS5b0a4AAAAAAAAAAgo/PQ627d++uBQsWWJaVLFlSCQkJFB0BAAAAAAAASMpH4TEzM1OxsbGFEQsAAAAAAACAEOHzUOuHH35Yzz//vPbv369atWrpvPPOy7HN+eef75fgAAAAAAAAAAQnnwuPQ4cOVVZWlgYPHiyXy5XrNmvXri1wYAAAAAAAAACCl8+Fx+eff74w4gAAAAAAAAAQQnwuPCYmJhZGHAAAAAAAAABCiM+FR0lKT0/X3Llz9fPPP2vfvn0aOXKk/ve//6lu3bpKSEjwd4wAAAAAAAAAgozPd7U+cOCAOnbsqBEjRmj79u1avXq10tLS9N133+m+++7TihUrfNrfoUOHNGTIEF199dW67LLLdNddd2n58uXe9WvXrtW9996rBg0aqGXLlpo6daqvIQMAAAAAAAAIMJ8Ljy+//LKOHTumzz77TB999JGMMZKksWPHqn79+nr99dd92t9jjz2mVatWafTo0Zo7d67q1q2r7t27a/PmzTp48KC6deumiy++WPPmzVP//v01duxYzZs3z9ewAQAAAAAAAASQz0Ot//vf/+rpp59W1apVlZWV5V0eHR2t+++/X08++WSe97V9+3b99NNP+uCDD3TZZZdJkgYPHqzvv/9eixYtUkxMjKKiojR06FBFRESoRo0a2r59uyZPnqyOHTv6GjoAAAAAAACAAPG58Oh2u1W2bNlc14WHhysjIyPP+4qNjdWkSZNUr1497zKXyyVjjA4fPqw//vhDjRs3VkTEqTCbNWumiRMnKjk5WeXLl/c1fAAIKGOM0tPdATue251WaPuOioqWy+UqtP0DAAAAAEKLz4XH+vXr6/3339c111yTY90nn3xiKSKeS+nSpXPs5/PPP9dff/2lq666SmPGjFFcXJxlfcWKFSVJu3fvLlDhMSLC51HmQSsz89TvGh4e5qjf3YnId9FhjNGwYUO0ceP6gB2zZ88uhbbvuLh4DRkynOJjEcLr21nId2jj/dtZyLezkG9nId/OQr7PzefC48MPP6yuXbvqlltu0TXXXCOXy6VFixZp3Lhx+vHHHzVlypR8B/Prr7/q6aefVuvWrdWqVSu98MILioqKsmwTHR0t6UTPy/wKC3MpNrZEvh8fbNLSwr0/x8aWUExMjI3RoLCR76LDGKPIyPBzbxgkIiLCFRtbgsJjEeKk9zKQ71DH+7ezkG9nId/OQr6dhXyfm8+Fx0aNGmnatGl69dVXNWXKFBlj9M4776hOnTqaOHGimjVrlq9Avv76aw0YMECXXnqpRo8eLUmKiYlRenq6ZbvsgmPx4sXzdRxJ8niMUlKO5/vxwSYt7dTQy4MHjykmJussWyPYke+i5emnhxboi5JzcbvT1LfvA5KkN9+crOjownuji46O1qFDzvnbGQwOHjxmdwgIIPId2nj/dhby7Szk21nIt7M4Od+lSxdTePi5e3j6XHiUpMaNG2vWrFlKS0vT4cOHVbJkSZUokf9v4WfMmKERI0aobdu2GjVqlLeXY+XKlZWUlGTZNvvflSpVyvfxJCkz01OgxweTrCyP5Wcn/e5ORL6LnoiIqHNvlE+n5zsiIqqQj2UkmULbP3zH69tZyHdo4/3bWci3s5BvZyHfzkK+z83nweft27fXlClTtHfvXsXExKhSpUoFKjq+//77Gj58uO655x699tprlqHVjRs31q+//mq5e/aSJUtUrVo1biwDAAAAAAAAFGE+Fx5r1Kih8ePH69prr1XXrl21YMECHTuWv6E/W7du1ciRI9W2bVv16tVLycnJ2rdvn/bt26cjR46oY8eOOnr0qAYPHqxNmzZp/vz5mj59unr16pWv4wEAAAAAAAAIDJ+HWr/22ms6fvy4vvzyS3322Wd65plnNGzYMLVq1Uq33HKLrrrqKoWF5a2e+cUXXygjI0NfffWVvvrqK8u6xMREvfjii5oyZYpGjBihxMREVahQQQMHDlRiYqKvYQMAAAAAAAAIoHzN8Vi8eHHdeuutuvXWW3Xw4EH95z//0X/+8x/17dtXZcuW1Y8//pin/fTu3Vu9e/c+6zYJCQmaPXt2fsIEAAAAAAAAYBOfh1r/U1JSkvbu3asDBw4oMzNTFSpU8EdcAAAAAAAAAIJYvno8btu2TZ9++qk+//xzbd68WRUrVtRNN92k0aNHq1atWv6OEQAAAAAAAECQ8bnwmJiYqHXr1qlYsWJq27atBg8erGbNmsnlckmSMjMzFRGRr3omAAAAAAAAgBDhc4WwXLlyeumll9S2bVsVK1bMu3zXrl2aM2eO5s2bl+c5HgEAAAAAAACEJp8Lj1OnTvX+bIzRf//7X82aNUs//fSTsrKyVL16db8GCAAAAAAAACD45GtMdFJSkj788EPNnTtXe/bsUenSpdWpUyfdeuutSkhI8HeMAAAAAAAAAIKMT4XHn376SbNmzdJ///tfGWPUtGlT7dmzR+PHj1fjxo0LK0bbGGOUnu62O4wCc7vduf4crKKior1zivoT+S6aCivfAAAAAACgcOWp8DhlyhTNmTNHf/31l6pVq6aHHnpIiYmJio6OVpMmTQo7Rtukp7vVs2cXu8Pwq/79e9odQoFNmjRd0dExft8v+S6aCivfAAAAAACgcOWp8Dhq1CjFx8frvffes/RsPHLkSKEFBgAAAAAAACB45anwePPNN+urr75Sjx491KxZM916661q3bp1YcdWpJSu3VGusHxNiVkkGGMkKWiHrBpPplLWzQvY8QZdWUlR4cF5rqTgz3d6ltFLP++1OwwAAAAAAFAAeaqkvfzyyzp27JgWLVqk+fPn69FHH1WZMmXUunVruVyuoC1u+MIVFhHUhcfQz5B/RYW7FBUeZncYDuaxOwAAAAAAAFBAea6slChRQp06ddLs2bP16aefqkOHDvr+++9ljNGgQYM0ZswYbdiwoTBjBQAAAAAAABAk8tWlq0aNGho0aJC+++47jR8/XrVq1dLUqVN1yy236Oabb/Z3jAAAAAAAAACCTIHGDoeHh6tNmzZq06aNkpOTNX/+fC1YsMBPoQEAAAAAAAAIVn6bxK58+fJ64IEH9Omnn/prlwAAAAAAAACCFHfPAAAAAAAAAOB3wXubZgAAAAAAAAQdY4zS0912h1Fgbrc715+DVVRUtFwul1/3SeERAAAAAAAAAZOe7lbPnl3sDsOv+vfvaXcIBTZp0nRFR8f4dZ8MtQYAAAAAAADgd/R4BAAAAAAAgC1q3ttPYRGRdoeRb8YYSfL7EOVA8WRmaNOM8YW2fwqPAAAAAAAAsEVYRKTCIqPsDgOFhKHWAAAAAAAAAPyOwiMAAAAAAAAAv6PwCAAAAAAAAMDvmOMRAAAgH4wxSk93B+x4bndaoe07Kio6aCdEBwAAQNFF4REAAMBHxhg9//wQbdq0IWDH7NmzS6Htu1ateA0ePIziIwAAAPyKodYAAAD5QJEOAAAAODt6PAIAAPjI5XJp8OBhhTrU2u12q3//nt5/T5o0vdCOxVBrAAAAFAYKjwAAAPngcrkUHR0TkGNNmjQ9YMcCAAAA/IWh1gAAAAAAAAD8jsIjAAAAAAAAAL+j8AgAAAAAAADA7yg8AgAAAAAAAPA7Co8AAAAAAAAA/I7CIwAAAAAAAAC/o/AIAAAAAAAAwO8oPAIAAAAAAADwOwqPAAAAAAAAAPyOwiMAAAAAAAAAv6PwCAAAAAAAAMDvKDwCAAAAAAAA8DsKjwAAAAAAAAD8jsIjAAAAAAAAAL+j8AgAAAAAAADA7yLsDgAAAAAAADibMUbp6W67wygwt9ud68/BKioqWi6Xy+4wEMQoPAIAAAAAAFulp7vVs2cXu8Pwq/79e9odQoFNmjRd0dExdoeBIMZQawAAAAAAAAB+R49HAAAAAABQZPTv2lCRkcHbT8oYI0lBO0Q5I8Ojce+ssDsMhAgKjwAAAAAAoMiIjAxTVGS43WEA8IPg/QoBAAAAAAAAQJFVpAqPb775pu677z7LsrVr1+ree+9VgwYN1LJlS02dOtWm6AAAAAAAAADkVZEpPL7zzjt6/fXXLcsOHjyobt266eKLL9a8efPUv39/jR07VvPmzbMpSgAAAAAAAAB5Yfscj3v37tXgwYP166+/qlq1apZ1c+bMUVRUlIYOHaqIiAjVqFFD27dv1+TJk9WxY0ebIgYAAAAAAABwLrYXHv/880+VKVNGCxcu1BtvvKFdu3Z51y1fvlyNGzdWRMSpMJs1a6aJEycqOTlZ5cuXtyNkAAAAADYwxig93W13GAXmdrtz/TlYRUVFB+3dewEAhcv2wmOrVq3UqlWrXNft2bNHcXFxlmUVK1aUJO3evbtAhceIiHOPMs/MLDIj0XGa8PCwPOXPV+S7aCqsfIeK05+3nCvnId+hjde3s5DvvElLS1PPnl3sDsOv+vfvaXcIBTZ16nuKiYnx+36NMSFRmM3MTLf8HB4e3K/v6OjCKTTzeaxo4vO3sxRGvm0vPJ5NWlqaoqKiLMuio6MlFeybwbAwl2JjS+Th+OH5PgYKT2xsiUK5sCHfRVNh5TtUnP685Vw5T17eyxC8eH07C/nOG67XiqbCuz5P07333uH3/dqpb98H7A6hwObPn8/nMQfh87ezFEa+i3ThMSYmRunp6ZZl2QXH4sWL53u/Ho9RSsrxc26XlpaW72Og8Bw8eEwxMVl+3y/5LpoKK9+h4vTnLefKeQ4ePGZ3CChEvL7zJlR6RLndp/K9Z0+yoqODu/BYWD2iTn9dDG77oKLCI/1+jEAxxkhS0A5RTs/K0Iiv3pDE9bnTkG9nId/O4ku+S5culqce3EW68Fi5cmUlJSVZlmX/u1KlSgXad2am55zbZGWdexsEXlaWJ0/5y89+UfQUVr5DxenPW86V85Dv0MbrO2/c7tAbehsKPaImTZpeKMXT018XUeGRioqIOsvWCJRAXJ+3aNFC4eHB20Mq2AvNWVlZ+uGHH07+zOcxJyHfzlIY+S7ShcfGjRtr1qxZysrK8r7JLFmyRNWqVePGMgAAAADgEOHh4UFdeAQApyrShceOHTtqypQpGjx4sHr06KHVq1dr+vTpGjZsmN2hAQAAoIi5us75Cg8Lzt5EUgj0iPIYfb9mt91hAACAIqRIFx7Lly+vKVOmaMSIEUpMTFSFChU0cOBAJSYm2h0aAAAAipjwMFfQ3y02uDFsDgAAWBWpwuOLL76YY1lCQoJmz55tQzQAAAAAAAAA8ouvhAEAAAAAAAD4XZHq8QgAQDAzxig93R2w47ndaYW276io6KCdZw4AAABA0UDhEQAAPzDG6Pnnh2jTpg0BO2bPnl0Kbd+1asVr8OBhFB8BAAAA5BuFRwCOFOieaYXF7Xbn+nOwCvZedsEcOwAAAAD4G4VHAI6Unu4u1N5idujfv6fdIRTYpEnTFR0dY3cY+eJyuTR48LBCLWi73W5LnidNml5oxwr2IjAAAAAA+1F4BADAT1wuV8AKp8FcpAUAAADgDBQeATjeee2ryRURZncY+WaMkRS8w3xNpkf7P9lqdxgAAAAAAD+j8AjA8VwRYUFdeAzOciMAAAAAINQF7ydtAAAAAAAAAEUWhUcAAAAAAAAAfkfhEQAAAAAAAIDfUXgEAAAAAAAA4HcUHgEAAAAAAAD4HYVHAAAAAAAAAH5H4REAAAAAAACA30XYHUCwMJ5Mu0NwNM4/AAAAAABAcKHweBbGGO/PKevm2RgJTnd6XgAAAAAAAFA0UXgEAAAhxRij9HS33WEUmNvtzvXnYBUVFS2Xy2V3GAAAAAggCo9ncfrFcenaHeUK43TZxXgyvb1O+dACADib9HS3evbsYncYftW/f0+7QyiwSZOmKzo6xu4wAAAAEEBU0vLIFRZB4REAAAAAAADIIyppAAAgZDWpd5fCg/iLw+x5jYO1t3+WJ1P/++MDu8MAAACATYL3ShwoROlZHrtDcDTOPwB/CQ+LUHh4pN1hAAAAAI5E4RE46fS7Zb/0c5KNkeB03MUcAAAAAIDgFGZ3AAAAAAAAAABCDz0egZNOnz9r0JUVFRVOXd4u6Vkeb6/TYJ3XDAAAAAAAp6PwCOQiKjyMwiMAAAAAAEABUFkBAAAAAAAA4HcUHgEAAAAAAAD4HYVHAAAAAAAAAH5H4REAAAAAAACA31F4BAAAAAAAAOB33NUaAAAAAAAAtvBkZNgdgqMV9vmn8AgACHnGGKWnu+0Oo8DcbneuPwerqKhouVwuu8MAAABAgBljvD9vmjnexkhwutPz4i8UHgEAIS893a2ePbvYHYZf9e/f0+4QCmzSpOmKjo6xOwwAAAAAhYTCIwAAAAAAAALm9FEvNe/pp7DISBujcTZPRoa312lhjEai8AgAcJT7y1VQZBAP780e/hCsQ5QzjNHbB/bZHQYAAACKiLDISIVFRtkdBgoJhUcAgKNEulxBXXhUMMcOAAAAwFHC7A4AAAAAAAAAQOih8AgAAAAAAADA7yg8AgAAAAAAAPA75ngEAABASMjyeOwOwdE4/wAA4J8oPAJwPJPJByU7cf4BFET2nd4l6fs1f9sYCU53el4KS3pmRqEfA2cW6POflZUV0OPBKtDnPyODfNuJ8w9/ovCYR8aTaXcIBZJ98ecK0ruhBvv5R9Fz+gei/Z9stTESnC4QH1QBAMHr9PeJEV+/YWMkOF1hvX+fvt8ffvihUI4B3wUi3+PeWVkox4DvuD5HQVF4zKOUdfPsDgEAAAD/cPqXqlfXqaLwMKYwt0uWx+PtdRqsX3YDAAD/ovAIwJFO/0B0XvtqckXwQdUuJtPj7XXKB1UABREeFqbwcP6eh7LT3ycGt3lQURGRNkbjbOmZGd5ep4X1/n36flu0aKHw8PBCOQ7OLSsry9vrNBD57t+1gSIjybddMjKyvL1OuT5HQVF4PIuoqGhNmjTd7jAKzO12q3//npKkceMmKTo62uaICiYqKrjjR9Hjigij8AgAQJCJiohUVESU3WEgQMLDwyk8OkhkZLiiKDwCIYHC41m4XC5FR8fYHYZfRUdHh9zvBADAmWR5uPmEnTj/AAAAzkbhEchFepaRFLx32g32mwmdOP8AkD+nT4L+vz9m2RgJTsfk9AAAAM5D4RHIxUs/77U7BAAAAAAAgKBG4REA4CgZ9LqyVSDO/+m9vZvUu1PhYdx8wi5Zngxvr9Ng7YUPAACA/AuKwqPH49H48eP14YcfKiUlRZdffrmee+45Va1a1e7QEEK4mVDRxM2E4A+nD/F8+8A+GyPB6QIx9DY8LFLh4RQeAQAAADsEReHxzTff1KxZs/TCCy+oUqVKeuWVV/TAAw9o0aJFioriTnbwD24mBAAAAAAA4D9FvvCYnp6ut99+W0888YSuueYaSdKYMWPUokULffXVV7rxxhttjhAAUNSdPsTz/nIVFMmQT9tkGOPtdcrQWwAAAHgyM+wOoUCC/eauhX3+i3zhcd26dTp27JiaNWvmXVa6dGnVqVNHy5YtC4nCozFG6enuQtu/2+3O9efCEBUVHbQvtkAh30WPySy8O5gbY6RQuUt3uKtQ8l2Y5z/QjDHKtDsIP4lQ8F48nS7LU3gZMcbIY0Ij42GuiELJd2Ge/9yPZyQVzt+UE/kOjb/nYa7C+Xt+4vwHTnpW4X1QMsYoIys0Xt+R4YXz+i7M85+brKysQtu3MUYeT2hcj4SFhRXO67sQz39uMjIK9/o8M0SuPyMiCiffhXn+c7NpxviAHg+BVeQLj3v27JEkValSxbK8YsWK+vvvv/O934iIsALF5S/GGA0bNkQbN64PyPGy5/4rLHFx8RoyZHhIfFgtDOS76MjMPPU3YP8nW22MBKcLDw8rlL/Pp+ebOR6LjkDk+39/fOD3/SN/ApHv79fs9vv+kT+ByPeIr97w+/6RP4HI9w8//OD3/SN/ApHvce+s8Pv+kT+ByDeKjsLId5EvPKampkpSjrkco6Ojdfjw4XztMyzMpdjYEgWOzR+MMYqMDLc7DL+JiAhXbGyJoCxEBQL5LjrS0kInD6EkNraEYmL8Py8p+S6ayLezkG9nId/OQr6dhXw7S2Hl25jimj9/vt/3az2G0eDBg7Vu3bpCPU6g1K5dWyNGjCjUz9/R0f4f1egygbilZAF88cUXeuihh7Rq1SrLk/3hhx9Wenq6JkyY4PM+s7I8SklJ9WeYBWKMKfQhsYGac6AwnqShhnwXDYHIQ/ZxCnNofSAFYmh9YT2nyLfvyHfejkO+8458Fx3kO2/HId95R76LDvKdt+OQ77wL5s98Ep+/C1Pp0sUUHn7u3pFFvsdj9hDrpKQkXXTRRd7lSUlJql27dr73W9TmdIiICI27c2dlGUlFupZdJJDvoiFQeYiMjA7IcUJBYT6nyHfRQ76dhXw7C/l2FvLtLOTbWYL9M5/E52+7FflB9bVr11bJkiW1dOlS77KUlBStWbNGjRo1sjEyAAAAAAAAAGdS5Hs8RkVF6d5779WoUaNUrlw5XXDBBXrllVdUuXJltW3b1u7wAAAAAAAAAOSiyBceJemhhx5SZmamnnnmGaWlpalx48aaOnVqjhvOAAAAAAAAACgaivzNZQpDVpZHBw4cszsMAAAAAAAAIOiUK1ciTzeXKfJzPAIAAAAAAAAIPhQeAQAAAAAAAPgdhUcAAAAAAAAAfkfhEQAAAAAAAIDfUXgEAAAAAAAA4HcUHgEAAAAAAAD4HYVHAAAAAAAAAH5H4REAAAAAAACA31F4BAAAAAAAAOB3FB4BAAAAAAAA+B2FRwAAAAAAAAB+R+ERAAAAAAAAgN9ReAQAAAAAAADgdy5jjLE7iEAzxsjjcdyvDQAAAAAAABRYWJhLLpfrnNs5svAIAAAAAAAAoHAx1BoAAAAAAACA31F4BAAAAAAAAOB3FB4BAAAAAAAA+B2FRwAAAAAAAAB+R+ERAAAAAAAAgN9ReAQAAAAAAADgdxQeAQAAAAAAAPgdhUcAAAAAAAAAfkfhEQAAAAAAAIDfUXgEAAAAAAAA4HcUHgEAAAAAAAD4HYVHAAAAAAAAAH5H4REAAAAAAACA31F49DOPx6PXX39dLVq00KWXXqr7779f27dvP+tjfv31Vy1fvrxAx/3zzz/VuXNnXXbZZWrZsqXGjRunrKysAu0Tp7z55pu67777cixfu3at7r33XjVo0EAtW7bU1KlTz7qf48ePa+bMmX6L6+OPP1arVq1yLOf54LtDhw5pyJAhuvrqq3XZZZfprrvuyvG6tCPfaWlpevXVV9WqVSs1bNhQHTp00OLFi8+4/YQJExQfH1+gYzpBXvL91FNPKT4+3vLf1VdffcZ9+iPfx48f1/Dhw3XVVVfp0ksv1T333KPffvvtjNuT77xJTk7WE088oWbNmqlhw4bq2bOnNm3aZNnGjnyf7sCBA7rqqqs0bty4M25Dvn23detWNWzYUPPnz7cstyPfGRkZqlevXo7jjhkzJtftyXfe7Nq1K8c5jY+P14cffujdpqjmm+u1/FmwYIFuuOEG1a9fXzfeeKM+//xzy3q7rs+/++47dejQQfXr11ebNm3Ouk9e33l3rnwH+vW9c+fOXP/mxMfHq3bt2rk+xon5Xrp06RnPU+vWrb3b+Zo/p4uPj89xTRMUDPxq3Lhx5oorrjDffvutWbt2rbn//vtN27ZtjdvtPuNj4uLizLx58/J9zL/++stceumlpm/fvmbdunVm6dKlpl27dmbw4MH53idOmTZtmomPjzf33nuvZfmBAwdM06ZNzeDBg82mTZvM3LlzTf369c3cuXPPuK9x48aZa6+91i9xffrpp6Zu3bo59sfzIX+6detmbr75ZrNs2TKzefNmM3z4cJOQkGA2bdpkjLEv34MHDzYtW7Y033//vdm2bZt56623TO3atc0vv/ySY9tVq1aZOnXqmLi4uAId0wnOlW9jjElMTDSjR482SUlJ3v+Sk5PPuE9/5PuRRx4x7dq1M8uWLTPbtm0zw4YNM5deeqnZs2dPjm3Jd97dfvvtplOnTmb16tVm06ZNpn///qZ58+bm+PHj3m3syPfp+vbta+Li4szrr7+e63ry7bv09HTToUOHXK+z7Mj3unXrTFxcnFm7dq3luEePHs2xLfnOu8WLF5v69eubvXv3Ws5ramqqd5uimG+u1/JnwYIF5pJLLjHvvPOO2bZtmxk/frypXbu2+e2334wx9l2vLV261FxyySXm1VdfNdu3bzezZs0yl1xyifn0009zbMvrO+/OlW9jAv/6zszMtBwrKSnJ/Pnnn6Zhw4Zm9OjRObZ3ar7dbneO8/Tjjz+aOnXqmDlz5ni38zV/TlfQ2pFd6PHoR+np6Xr77bfVv39/XXPNNapdu7bGjBmjvXv36quvviq0486YMUNly5bVmDFjFB8fryZNmmjEiBGaO3eudu/eXWjHDXV79+5Vjx49NHbsWFWrVi3H+jlz5igqKkpDhw5VjRo11LFjR3Xt2lWTJ08+4z6NMQWO6+jRoxowYICeeOIJ1ahRI8d6ng++2759u3766Sc999xzatSokapXr67BgwerUqVKWrRokSR78p2amqoFCxboscceU4sWLVS1alX16tVLTZs21bx58yzbHj9+XE888YQaNWpUoGM6QV7ynZWVpU2bNql+/fqqUKGC979y5cqdcb8FzXdmZqZiYmK8cVWtWlWPPvqoUlNTc/R6JN95d/DgQV144YUaPny46tevrxo1aqhv377at2+fNm7cKMmefJ9u9uzZ2rp1qypUqJDrevKdP+PGjVOJEiVyLLcr3xs2bFCpUqVUu3Zty3H/GSP59s2GDRtUrVo1VaxY0XJeY2JiJBXdfHO95jtjjMaOHasuXbqoS5cuqlq1qh588EFdeeWV+t///ifJvuvzcePGqU2bNnrsscd00UUXqVOnTrr11ltzjKbg9Z13ecm3Ha/v8PBwy7EqVKigV199VXFxcXr44Yct2zo531FRUZZzVLZsWb3wwgu67rrrdPvtt0vKX/4QnCg8+tG6det07NgxNWvWzLusdOnSqlOnjpYtW5brY7K7XD/11FN68sknJUl///23BgwYoObNm6tBgwbq3r271q9ff8bjbt26VQkJCYqKivIuq1OnjowxuR533bp1io+Pz7Hu0UcfVb9+/SRJR44c0bPPPqtmzZrp8ssvV+fOnfX77797tzXGaMqUKbr++utVr149XX755erVq5d27Nhh+d3GjBmja6+9Vs2bN9eWLVu0evVq3X333WrYsKEaN26s/v37F9mLqz///FNlypTRwoULdemll+ZYv3z5cjVu3FgRERHeZc2aNdPWrVuVnJycY/tx48Zp/Pjx3iFBO3fulHRi+MDNN9+shIQEtWrVSm+99ZY8Hs8Z49q5c6cOHz6suXPnqk2bNjnW83zwXWxsrCZNmqR69ep5l7lcLhljdPjwYUn25Nvlcumtt95SixYtcqzLjivbiBEjFBcXp1tuueWsvyv5zlu+t23bJrfbnWtxPzf+yHdERIReeOEFXXHFFZKklJQUvfnmmypRooQaNGhg2ZZ8511sbKxGjx6tWrVqSZL279+vqVOnqnLlyqpZs6Yke/KdbevWrRo1apReeeUVy9/t05Fv3y1btkyzZ8/WSy+9lGOdXflev3699zl3NuTbN+c6r0U131yv+W7Lli3atWuX2rdvb1k+depU9erVS5I912upqalavnx5jrhGjhypIUOGWJbx+s67vOTbzvfvbF9//bWWLFmioUOHKizMWl4h36fMnDlTf//9t5566invMl/z9/XXX6t27dratWuXZfkdd9yhF154QdKJzkOPPvqoGjVqpKZNm6p3797atm2bd9v09HS9+uqratOmjerVq6emTZvqscce08GDByWdGkr/5ptvqnnz5mrVqpVSUlK8UylceumluuKKK/Tkk0/m+Dx2uo0bN6pv375q2rSp6tWrp7Zt22r69One9ePGjdN9992nyZMn6+qrr1b9+vXVuXNnbdmyxbvNnj171KdPHzVs2FAtW7bUp59+es5ztHnzZvXu3VtNmzbV5Zdfroceesibz/nz56t+/fpKSUmxPKZdu3Z67bXX8nT+nnzySfXr10/333+/LrvsMk2cOPGcMUliqLU/ffHFFyYuLs4ytMMYYx566CHTs2fPXB+TlJRk4uLizDvvvGNSUlLMkSNHzDXXXGPuvfdes2rVKrN27VrTr18/06hRI7Nr165c9/H000+b2267zbJs48aNJi4uzkydOjXXx9x6663m6aef9v47JSXF1K9f3yxevNh4PB7TqVMnc++995qVK1eaTZs2mVdffdXUrVvX/Pnnn8aYE8OPGzVqZBYvXmx27txpfvnlF9O2bVvTt29f7z7j4uJM06ZNzerVq82KFStMVlaWadasmRk9erT566+/zB9//GE6dOhgunTpcs5za7dBgwblGGp90003mZdfftmyLPu8r169Osc+jh49al588UVz9dVXm6SkJJOZmWmmTZtm6tWrZ2bMmGG2bt1qFi5caBo1amReeOGFPMX1+uuv5xgqwPPBPz777DMTFxdnFi9ebIwpGvk2xpiVK1ea+Ph48+6773qXffnll6Z58+bmwIEDZt68eeccykG+c/pnvj/77DMTHx9vnnvuOXPttdea1q1bm3//+98mJSUl18f7O98TJkwwcXFxJj4+PsfwMPKdf88884yJi4sz9erVMz/88IN3uV35Tk9PN4mJiWbChAnGGGOuvfbaHEOtybfvDh8+bFq2bGkWLlzojff0YUl25fuBBx4wHTt2NPfff7+54oorTGJiolmwYIFlG/LtuxtuuMF06dLF3HXXXeaKK64wd955p/n++++964tqvrle893XX39t4uLizLJly8z9999vmjVrZm677Tbve7cx9lyvrV271nsN0b9/f9OsWTNz8803W4aTGsPr21d5ybfd12vGnHjODRw4MMdy8n1KWlqaadq0qRk7dqxlua/5y8jIMFdeeaV54403vMu2bNnindbi2LFjpm3btqZ///5m7dq1Zv369ebJJ580jRs39k5bNHz4cNOyZUvzyy+/mJ07d5r//ve/pkmTJmbEiBHGGGN27Nhh4uLiTLt27czGjRvN6tWrTXJysvc5snPnTrN8+XLTqlUrS75Od/z4cdO8eXPz+OOPm02bNplt27aZV1991cTFxZk1a9YYY058jq9bt6554IEHzNq1a83y5ctN69atTefOnb2/64033mg6depk/vjjD/Pbb7+ZW2655axDrXfu3Gkuv/xy7++/atUqc/fdd5trr73WHDlyxBw7dsw0aNDA8rdp5cqVJi4uzmzdujVP52/QoEEmLi7OTJ482WzZssXs3r37nPk3xhgKj360YMECExcXZ7KysizLn3jiibO+eE9/8sycOdMkJCRY5jVIS0szV111VY430WzLli0z8fHxZuLEiSYtLc3s3bvXdO7c2dSpU8f7Yeaf3nvvPXP55ZebtLQ0Y4wxs2fPNldeeaXJyMgwP//8s4mLi8sxt8I999xjBg0aZIw5MZ/O119/bVk/evRo07p1a8vvNXLkSO+/Dx06ZOLj482MGTOMx+MxxpyY32bFihVnPDdFRW6FxzZt2pjXXnvNsuyvv/7yvkHm5vRCocfjMVdeeaV58cUXLdu8++67pm7dumf8g3um/WXj+VBwy5cvNw0aNDB9+vTxLisK+d68ebNp3ry56dixo3fe2D179pimTZua7777zhhj8nRhQ76tcsv32LFjzSWXXGImTZpk1q9fb7788kvTunVrc++99+b4G5/Nn/netm2bWbNmjRk9erSpXbu2+eabb4wx5LugNm7caH7//Xfz9NNPm4SEBPPHH38YY+zL96hRo8ydd95pMjMzjTE5C4/kO38effRR88gjj3j//c+LdLvy3bJlS9OmTRvz3XffmTVr1pg333zTXHLJJebDDz80xpDv/HC73aZOnTqmY8eOZunSpeb33383I0aMMPHx8ebnn382xhTdfHO95rvsz1qtWrUy8+fPN2vWrDFjxoyx5NuO67Vly5aZuLg407x5czN9+nSzZs0aM23aNFO3bl1e3wWQl3zbfb32448/mvj4eMsc4caQ73+aPXu2adCggTlw4IBleX7y9+KLL5rrrrvO++/Ro0ebxMREY4wxc+bMMY0aNTLp6ene9VlZWZbrqwULFpilS5da9vnYY495C37Zhcfp06d7169Zs8bExcV5r8eNMWbDhg1m7dq1ucaYnJxsJk6caI4cOeJd5na7TVxcnPnoo4+MMSeeh/Hx8ebgwYPebd555x1Tt25dY4wx33//vYmLizPbt2/PEceZCo8vv/yyadGiheX+Ivv37zcJCQlm5syZxhhjnnzySUtd49///re5884783z+Bg0aZBo3bpzr8c8m4tx9IpFX2XPJpKene3+WJLfbrWLFiuVpHxs2bNDFF19smdcgOjpaCQkJZxxu3ahRI40cOVIvvfSSxowZoxIlSuihhx7S5s2bVapUqVwf0759e7300ktavHixbrjhBn300Ue6+eabFRERoT///FOSLHebyv693G63JKlVq1ZatWqVXn/9dW3fvl2bN2/Wxo0bValSJctjqlat6v25TJky6tGjh4YPH67x48fryiuv1NVXX6127drl6dwUNTExMUpPT7csyz4/xYsXP+fjDxw4oP379+vyyy+3LG/cuLEyMjK0ZcuWXId4nwvPh4L5+uuvNWDAAF166aUaPXq0d7nd+f7tt9/Ut29fVahQQZMmTVJUVJSMMXryySd1/fXX+3T3N/J9ypny3b9/f3Xt2lWlS5eWJMXFxalChQrq1KmTfv/993O+Ngua7+xzd8kll+jPP//UtGnT1LJlS/JdQNnDHocPH66VK1dqxowZeuGFF2zJ9//+9z998MEH+uijjxQeHp5jn7y+82fBggVavny5PvnkkzNuY9fr+z//+Y88Ho/3mvCSSy7R33//ralTp6pjx47kOx+ioqK0bNkyRUREeIcs16tXT5s3b9bUqVN1xRVXFMl833bbbVyv5UNkZKQkqXv37kpMTJR04ryuWbNG06ZN0xVXXGHL9Vr2c++WW25R586dvXFt375d06ZN4/WdT3nJt93XawsWLFCjRo0sQ4V5/85pwYIFuu666xQbG2tZnp/8dezYUW+//bZWrVqlhIQELVy4UD169JAkrVmzRkePHlWTJk0sj3G73dq8ebOkE6/TJUuWaPTo0dq2bZs2b96sLVu25JiH8/TzdMkll+imm25S7969VaVKFV155ZVq2bKlWrVqlevvW65cOd1999367LPPtG7dOm3fvl1r166VJMsQ/vPOO09ly5b1/rtUqVLKyMiQdKIuVKZMGV100UWWOM5WV9qwYYPq1atnmcKjfPnyqlatmreWlJiYqM6dO2vPnj0677zz9Nlnn+nRRx/N8/n757nJKwqPflSlShVJUlJSkuUJkpSUpNq1a+dpH8YYuVyuHMuzsrIsc5X8U4cOHZSYmKikpCTFxsYqMzNTI0eOPOOTokyZMmrTpo0WLlyo+vXra8WKFfr3v/8t6cSLoWTJkrnepj37STx58mSNGzdOHTp0UJMmTXTfffdp8eLFOeYdOL0AK0kDBgzQ3Xffre+++847F8bEiRO1YMGCM85tVVRVrlxZSUlJlmXZ//7nH/jcmDNMbJyVlSVJZ833ufB8yJ8ZM2ZoxIgRatu2rUaNGmWJwc58f/XVV3r88cdVv359TZgwwfvmvHv3bv3888/67bfftGDBAkknblAiSQ0bNlSvXr3Uu3fvHPsj3yecLd8ul8t7nrPFxcVJOjHfyrkuZPOT76NHj+rHH3/UlVdeaTl2rVq19M0335DvfEpOTtaSJUt0/fXXewt8YWFhqlGjhvc1bEe+P/roIx0/flw333yzd1lqaqomTpyot99+W4sWLSLf+TBv3jwlJyerZcuWluXPPfecpk6dqk8//dSWfEsnvkj+p/j4eH3yySe8vgsgt2JSXFycfvzxR0n2vL6ls+c7G9drvqlcubKkU/nLVrNmTX377bfebQJ9vZa939zimj9/Pq/vfMpLvu16fUsncvjtt996izbZyLfVgQMHtGLFCu+8nKfLT/5q1qypSy+9VAsXLlRaWpr279+vG2+8UdKJ81StWjVNmDAhx+Oy3yuGDh2qzz77TLfeeqtatmypPn36aOrUqdq7d69l+3+ep1dffVUPPvigvv/+e/3888967LHHdNlll+ndd9/Ncaz9+/frjjvuUGxsrFq3bq0rrrhC9evX1zXXXGPZ7lznN7fn59mek2erJWUX8hs3bqwLL7xQixYtUo0aNXT8+HFdf/31kvJ2/qSc5yYvuLmMH9WuXVslS5bU0qVLvctSUlK0Zs2aPN/JKi4uLsfkx263W3/88ccZJ6j+4osv9OCDD8rlcqlSpUqKiorSF198oeLFi6thw4ZnPFbHjh31008/6eOPP1b9+vW9E+/HxcXp6NGjSk9PV9WqVb3/TZ48WYsXL5YkTZgwQf369dPQoUPVqVMnNWjQQNu2bTvrXcK2bNmi5557TuXLl9ddd92l119/XVOmTNHmzZu1bt26PJ2foqRx48b69ddfvW9MkrRkyRJVq1ZN5cuXz/Uxp/8hKF++vMqXL69ff/3Vss3y5csVGRlpKV77gudD/rz//vsaPny47rnnHr322ms53gjsyvc333yjRx55RC1bttS0adMsb86VKlXSl19+qYULF2rBggVasGCBHnroIUknvlm88847z/j7ku+z5/vxxx9X9+7dLcuyJ/A+09/iguY7MzNTjz76qL788kvL8tWrV6tmzZrkO5+SkpL0+OOPe++AKUkZGRlas2aNt4eCHfkeMGCAPv/8c28uFyxYoIoVK+rOO+/UggULyHc+jRo1Sp999pnlvErSQw89pEmTJkmyJ9+HDh1So0aN9PHHH+c4bq1atch3Pq1bt04NGzbMcefg06+bi2K+Ja7X8qNOnToqUaKEVq1aZVm+YcMGbx7suF6rVKmSLrroojPGxes7f/KSbzte39k2bdqklJQUy41lJa7P/+m3336Ty+XK0YtOyl/+pBPn6csvv9SXX36p1q1be3sNxsXFaffu3SpVqpT3HF1wwQV69dVXtWzZMh08eFAffPCBhg4dqqefflodOnTQJZdcoi1btpz1PK1cuVIjR45U9erV1bVrV02aNEkjR47U0qVLc71p1SeffKJDhw5p1qxZ6tu3r9q2beu9Ec3ZjnO6OnXqKCUlRRs3bvQu27p1q44cOXLGx8TFxWn16tWWXt/79+/X9u3bvde8LpdLt956q7744gt9+umnatOmjbeX/bnOX0FQePSjqKgo3XvvvRo1apQWL16sdevW6dFHH1XlypXVtm3bMz6uePHi2rx5sw4ePKj27durdOnSeuSRR7R69WqtW7dOTzzxhI4fP65OnTrl+vhatWrp+++/15tvvqmdO3fqiy++0PDhw9W3b1+VKFHijMe98sordd5552ny5Mnq0KGDd3mLFi10ySWX6JFHHtGSJUu0fft2vfTSS5o3b573CVulShX99NNP2rRpk7Zs2aIxY8boyy+/zDG04XRly5bVokWLNGTIEG3evFlbt27VvHnzVKZMGVWvXv1cp7fI6dixo44eParBgwdr06ZNmj9/vqZPn57rtznZihcvrsOHD2vr1q3KzMzU/fffrxkzZmjmzJnavn27PvnkE40fP16dOnU64zCbc+H54LutW7dq5MiRatu2rXr16qXk5GTt27dP+/bt8/5xtyPfhw8f1qBBg1S3bl0NHjxYhw8f9sZ16NAhRUREWC4+qlat6r2orlq1qqXr/j+R77Pn+6abbtJPP/2kCRMm6K+//tJ3332np59+WjfddNMZ77xX0HyXLVtWt99+u8aMGaPvvvtOW7Zs0ciRI7Vq1Sr16dOHfOdT7dq1ddVVV2nYsGFavny5NmzYoEGDBiklJUVdu3aVZE++y5cvnyOfERERKlOmjPdn8u27SpUq5Thv0onzfcEFF0iy7/V95ZVXavTo0frhhx+0bds2TZo0SQsXLlT//v3Jdz7FxcWpVq1a3tf35s2b9cILL2jlypXeHkVFMd8S12v5ERMTox49euiNN97QokWL9Ndff2nChAn66aef1K1bN0n2XZ/369dPs2fP1syZM7Vjxw7Nnj1b8+bNU/fu3Xl951Ne8m3H6zvbunXrFBUVpWrVqlmWk2+rdevW6V//+leuQ4Tzkz9JuvHGG3XkyBHNnTvXcp5uvvlmlSlTRv369dPKlSu1efNmPfXUU/ruu+9Uq1YtlSpVSqVKldLixYu1fft2rV+/Xs8++6z+/PPPs56nkiVL6v3339crr7zifdynn36qiy++OMfwcelEb93U1FR9/vnn2r17t3788Uc99thjknTW45yuadOmuvTSSzVw4ECtXLlSv//+u5588skcd04/3V133aWjR49qwIABWrdunVavXq2HH35YsbGx3l6h0onh1n/++acWL17sncYgL+evQHyeFRJnlZmZaV5++WXTrFkz06BBA/PAAw+YHTt2nPUxr7/+uklISDC9e/c2xpy4qUCfPn1Mw4YNTcOGDU2PHj3MunXrzrqPb7/91rRv394kJCSY6667zsyYMSNP8Y4ePdrUr1/fHD582LI8OTnZPPnkk6Zp06YmISHBJCYmmq+++sq7/o8//jB33HGHSUhIMFdccYXp3bu3+eCDD0x8fLz3981t4tPffvvN3HPPPeayyy4zl156qenSpYt3cv+iLLebyxhjzKpVq8wdd9xh6tWrZ6699lrz3nvvnXU/O3bsMO3atTP16tUzK1euNMYYM336dNO2bVtTt25d07p1azNx4kTvjQbOJbebyxjD88FX2XcQzu2/7AmbjQl8vhcuXHjGuHJ7PhqTt8mrs5Hvs+f7P//5j7n11ltNQkKCad68uXnxxRe9E37nxh+vb7fbbUaPHm1atmxp6tWrZzp16nTGyfCNId95lZKSYp577jnTvHlzk5CQYO6//36zYcMGyzZ25Pufcrur9enId/7kFq8d+T527Jh58cUXzTXXXGPq1atnbrnlFsu5/yfynTfJycnmqaeeMs2bNzf169fP9e9mUc0312v58/bbb5tWrVqZunXrmptvvjnHebXr+nzBggXm+uuvN3Xr1jXXXXddjrtan47Xd96dK992vX9PmjTJNG/ePE+/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bdqkhQsX+nSMSpUqafv27TmWnz4fZenSpSVJo0aN0sUXX5xj238WXwEAAJATN5cBAABwmP379+uHH37QjTfe6L2j9en/3XDDDfrpp59UqlQplSpVSl9++aXl8V988YXl302aNNGmTZt0ySWXqH79+qpfv77q1aund955R1999ZXP8VWpUkV9+vTRjh07NGnSJEkneilu3bpVt912mxISErwFze+//17SiRvK5FWTJk20Y8cOrV271rvM7XZ79yVJl156qSIjI7V3717v71S/fn1FRkbq1Vdf1c6dO33+vQAAAJyGHo8AAAAO89FHHykzM1M33nhjrusTExP1/vvva9GiRerRo4def/11FStWTE2aNNH//vc/ffDBB5JO9E6UpL59++rOO+9Ur169dNdddyk6OlqzZ8/W119/rddffz1fMXbt2lVz587V5MmTdeutt+pf//qXLrjgAs2cOVOVK1dW6dKl9eOPP2r69OmSpNTU1Dzv+6abbtKkSZP04IMP6uGHH1bp0qX19ttvKzk52XuDmtjYWPXo0UNjx47V0aNH1bRpU+3du1djx46Vy+VS7dq18/V7AQAAOAk9HgEAABzmo48+Uq1atc5YPEtISFD16tU1b9483X///erXr58WLFigXr16afny5d47XBcvXlySVLt2bc2cOVMul0sDBw7UQw89pH379umNN97Qddddl68Yo6Ki9PTT/9/eHbK0GsVxHP8NZlwwjS0aDKuGFesWRbDZhyy5ooybDDZhMBguyIKg72BB2CsYGCyCIFp8BwbBILvhwsLlXrjIA0Pv5xNPePif+uU55/zI+/v78jj4+fl5qtVq+v1+er1e7u7uMh6Ps7Gxkdvb23/+drlczmQySaPRyMnJSY6Pj7O5uZlWq7XcU5L0er30+/3MZrN0Op2cnZ1la2srV1dXqVQqn9oXAMD/pLT4/SZuAADIr5evp9Npms1marXacv36+jqnp6eZz+fLuxC/ksfHxzw/P6fdbqdUKi3X9/b2UqvVMhqNVjgdAMD34ag1AAB/VC6Xc3FxkcvLy3S73ayvr+fh4SHD4TC7u7tfMjomydvbWw4PD7O/v59Wq5WPj49Mp9Pc39/n6Oho1eMBAHwb/ngEAOCvXl5eMhgMMp/P8/r6mnq9np2dnRwcHGRtbW3V433azc1NJpNJnp6eslgs0mg00u12s729verRAAC+DeERAAAAACicx2UAAAAAgMIJjwAAAABA4YRHAAAAAKBwwiMAAAAAUDjhEQAAAAAonPAIAAAAABROeAQAAAAACic8AgAAAACF+wmH6suaTJsDsgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "%matplotlib inline\n", "sns.set_theme()\n", "plt.figure(figsize=(16, 6))\n", "my_order =['0 to 9 years', '10 to 19 years', '20 to 24 years', '25 to 34 years', '35 to 44 years', '45 to 54 years', '55 to 59 years', '60 to 64 years', '65 to 74 years', '75 years and over']\n", "\n", "plt = sns.boxplot(y='Average Checkouts per Year', x='Age Range', data=df[df['Average Checkouts per Year']" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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t99+u+nWrZv529/+ZgoLC8+4/8Wul7lz5xqbzWaCgoIq/Tk19eI+48ePNzabzbRp08b897//dbS7q15KS0tNXFycmTt3rjHGmNtvv73SkizUi2sdPXrUxMTEmFWrVhljKv8Zr7tqpX///iY+Pt7069fPdOzY0cTFxZm0tDSnPtSK6919993mscceMw8++KDp2LGjeeCBB8wXX3zh2F5b64X3ua71ySefGJvNZjZu3Gj69etnoqKizJ/+9CfHexZj3PM+d/v27Y73TkOHDjVRUVHm3nvvdVr6wRjOLa5WlXpx9/tcY07X7KhRoyq1Uy8XR3FxsenQoYOZOXOmU3t1j/2pU6dMp06dzN///ndH2+7dux3Ldp04ccLExsaaoUOHmu3bt5sff/zRjB492kRGRjqWlJw4caKJiYkxX331lfnpp5/Mf/7zH3PLLbeYSZMmGWOM2bdvn7HZbObOO+80O3fuNN99953Jz8931NdPP/1kMjIyTNeuXZ2O9a+dPHnSdO7c2YwcOdJkZWWZPXv2mGnTphmbzWa2bdtmjDmd27Ru3dr079/fbN++3WRkZJhu3bqZRx991PFce/ToYXr37m2+//57880335j77rvvnEuy/PTTT+bmm292PP8tW7aYhx56yNx+++3m2LFj5sSJEyYiIsLpvLh582Zjs9lMdnZ2lV6/5557zthsNpOUlGR2795t9u/ff97jX1UE5nVMWlqasdlspry83Kk9MTHxnCegXxfx0qVLTVhYmNM6TMXFxebWW2+t9EaiwsaNG01QUJB58803TXFxsTl48KB59NFHTUhIiOOD6G/93//9n7n55ptNcXGxMcaYlJQU06lTJ3Pq1Cnz5ZdfGpvNVmktqIcfftg899xzxpjT6xZ+8sknTtunT59uunXr5vS8Jk+e7Pj5yJEjJigoyCxZssTY7XZjzOl1BL/99tuzvjaXizMF5t27dzevv/66U9vevXsdbxLO5NcBt91uN506dTIvv/yyU59//OMfpnXr1mf9xXG28SpQT+6VkZFhIiIizKBBgxxttaFWdu3aZTp37mzi4+Md92TIzc01HTp0MJ9//rkxxlTpjSG1cnGdqV5mzpxpbrrpJjN//nzz448/mo8//th069bNJCQkVPr9VOFi1suePXvMtm3bzPTp001wcLD59NNPjTHUi7vt3LnTbN261YwdO9aEhYWZ77//3hjjvnqZOnWqeeCBB0xZWZkxpnJgTr243ogRI8zw4cMdP//2Q5a7aiUmJsZ0797dfP7552bbtm1mzpw55qabbjLvvvuuMYZacYeSkhITEhJi4uPjTXp6utm6dauZNGmSCQoKMl9++aUxpvbWC+9zXavi83HXrl3NypUrzbZt28yMGTOcasUd73M3btxobDab6dy5s1m8eLHZtm2bWbRokWndujXnFjeqSr24+33uunXrTFBQkNO9g4yhXi6mlJQUExERYQ4fPuzUXpNj//LLL5s77rjD8fP06dNNXFycMcaY5cuXm/bt25vS0lLH9vLycqf3pGlpaSY9Pd1pzGeeecYRVFcE5osXL3Zs37Ztm7HZbI7PQMYYs2PHDrN9+/YzzjE/P9+8+eab5tixY462kpISY7PZzHvvvWeMOV3DQUFBpqCgwNHnrbfeMq1btzbGGPPFF18Ym81mcnJyKs3jbIH5q6++aqKjo53ut3jo0CETFhZmli5daowxZvTo0U451t/+9jfzwAMPVPn1e+6550xkZOQZH/9CeZ7/GnTUJhVr9pWWljq+l6SSkhLVr1+/SmPs2LFD119/vdM6TPXq1VNYWNhZl2Vp3769Jk+erFdeeUUzZszQlVdeqWHDhmnXrl3y8fE54z733HOPXnnlFa1du1Z333233nvvPd17773y9PTUDz/8IElOdyOueF4lJSWSpK5du2rLli2aNWuWcnJytGvXLu3cuVPNmjVz2ue6665zfH/VVVfpiSee0MSJE/XGG2+oU6dOuu2223TnnXdW6bW53Hh7e6u0tNSpreL1bdCgwXn3P3z4sA4dOqSbb77ZqT0yMlKnTp3S7t27z7gUzPlQT+7zySef6Nlnn1V4eLimT5/uaHd3rXzzzTcaPHiwmjRpovnz58vLy0vGGI0ePVp33XVXte5MTq1cPGerl6FDh6pPnz7y9fWVJNlsNjVp0kS9e/fW1q1bz3teuNB6qXjtb7rpJv3www9atGiRYmJiqBc3q1iiYOLEidq8ebOWLFmiKVOmuKVevv76a73zzjt677335OHhUWlMzi+ul5aWpoyMDL3//vtn7eOuc8u///1v2e12x3vpm266SQcOHFBycrLi4+OpFTfw8vLSxo0b5enp6VjapE2bNtq1a5eSk5PVsWPHWlkvf/rTn3if62JXXHGFJOnxxx9XXFycpNPHZNu2bVq0aJE6duzolve5FXV733336dFHH3XMKycnR4sWLeLc4iZVqRd3v89NS0tT+/btnZYF4X3LxZWWlqY77rhDfn5+Tu01Ofbx8fFauHChtmzZorCwMK1atUpPPPGEJGnbtm06fvy4brnlFqd9SkpKtGvXLkmnzxEbNmzQ9OnTtWfPHu3atUu7d++utEb9r1/jm266ST179tTAgQPVvHlzderUSTExMeratesZn2/jxo310EMP6cMPP1RmZqZycnK0fft2SXJaJugPf/iDGjVq5PjZx8dHp06dknQ6R7zqqqvUokULp3mcK4fcsWOH2rRp47REmb+/v1q2bOnIHuPi4vToo48qNzdXf/jDH/Thhx9qxIgRVX79fvvaXEwE5nVM8+bNJUl5eXlOhZqXl6fg4OAqjWGMkcViqdReXl7utK7bb/Xq1UtxcXHKy8uTn5+fysrKNHny5LMW51VXXaXu3btr1apVCg0N1bfffqu//e1vkk7/o2zYsKFWrlxZab+Kf0xJSUmaPXu2evXqpVtuuUWPPPKI1q5dW2mdpF//x4EkPfvss3rooYf0+eefO9b9evPNN5WWlnbW9UsvVwEBAcrLy3Nqq/j5t7/kzsSc5eYl5eXlknTOejkf6sn1lixZokmTJik2NlZTp051mr87a2XNmjUaOXKkQkNDNXfuXMcblP379+vLL7/UN998o7S0NEmnb/woSW3bttWAAQM0cODASuNRKxfHuerFYrE4jlMFm80m6fTaduf7IFGTejl+/LjWrVunTp06OT32jTfeqE8//ZR6cZP8/Hxt2LBBd911lyOYtlqtCgwMdJxD3FEv7733nk6ePKl7773X0VZUVKQ333xTCxcu1OrVq6kXF0tNTVV+fr5iYmKc2l944QUlJyfrgw8+cEutSKcvHPmtoKAgvf/++5xb3OhMQabNZtO6deskuefcIp27XirwPtd1AgICJP3v2Fdo1aqVPvvsM0cfV7/PrRj3TPNauXIl5xY3qUq9uOvcIp2ugc8++8wRGFagXi6ew4cP69tvv3WsWf9rNTn2rVq1Unh4uFatWqXi4mIdOnRIPXr0kHT6NW7ZsqXmzp1bab+K33ETJkzQhx9+qPvvv18xMTEaNGiQkpOTdfDgQaf+v32Np02bpiFDhuiLL77Ql19+qWeeeUbt2rXTP/7xj0qPdejQIf3lL3+Rn5+funXrpo4dOyo0NFRdunRx6ne+Y3Om2j5XPZ8re6z4z6vIyEj98Y9/1OrVqxUYGKiTJ0/qrrvuklS110+q/NpcLNz0s44JDg5Ww4YNlZ6e7mgrLCzUtm3bqnyXZJvNVukGJyUlJfr+++/PegObjz76SEOGDJHFYlGzZs3k5eWljz76SA0aNFDbtm3P+ljx8fFav369/vnPfyo0NNRxUzCbzabjx4+rtLRU1113neMrKSlJa9eulSTNnTtXTz31lCZMmKDevXsrIiJCe/bsOecdqHfv3q0XXnhB/v7+evDBBzVr1iwtWLBAu3btUmZmZpVen8tJZGSkNm3a5PjlLEkbNmxQy5Yt5e/vf8Z9fn1C8/f3l7+/vzZt2uTUJyMjQ1dccYXTf9pUB/Xkem+//bYmTpyohx9+WK+//nqlX4buqpVPP/1Uw4cPV0xMjBYtWuT0BqVZs2b6+OOPtWrVKqWlpSktLU3Dhg2TdPqqgAceeOCsz5dauTDnq5eRI0fq8ccfd2qruEHQ2X6PXGi9lJWVacSIEfr444+d2r/77ju1atWKenGTvLw8jRw5Ul9//bWj7dSpU9q2bZvjyih31Muzzz6rf/3rX45aSEtLU9OmTfXAAw8oLS2NenGDqVOn6sMPP3Q6JpI0bNgwzZ8/X5J7auXIkSNq3769/vnPf1Z63BtvvJFacZPMzEy1bdtWGRkZTu2//rxSG+tF4n2uq4WEhOjKK6/Uli1bnNp37NjhOIbueJ/brFkztWjR4qzz4tziHlWpF3ecWypkZWWpsLBQUVFRTu3Uy8XzzTffyGKxVLpqWarZsZdOv8Yff/yxPv74Y3Xr1s1xlbbNZtP+/fvl4+PjeH2vueYaTZs2TRs3blRBQYHeeecdTZgwQWPHjlWvXr100003affu3ed8jTdv3qzJkyfrhhtuUJ8+fTR//nxNnjxZ6enpZ7yR8fvvv68jR45o2bJlGjx4sGJjYx03CD3X4/xaSEiICgsLtXPnTkdbdna2jh07dtZ9bDabvvvuO6e/8Dl06JBycnIcnxMsFovuv/9+ffTRR/rggw/UvXt3x19jne/1u9QIzOsYLy8vJSQkaOrUqVq7dq0yMzM1YsQIBQQEKDY29qz7NWjQQLt27VJBQYHuuece+fr6avjw4fruu++UmZmpxMREnTx5Ur179z7j/jfeeKO++OILzZkzRz/99JM++ugjTZw4UYMHD9aVV1551sft1KmT/vCHPygpKUm9evVytEdHR+umm27S8OHDtWHDBuXk5OiVV15Ramqq4x9O8+bNtX79emVlZWn37t2aMWOGPv7440p/TvdrjRo10urVq/X8889r165dys7OVmpqqq666irdcMMN53t5Lzvx8fE6fvy4xo0bp6ysLK1cuVKLFy8+4/+mVmjQoIGOHj2q7OxslZWVqV+/flqyZImWLl2qnJwcvf/++3rjjTfUu3fvs/5Z6flQT66VnZ2tyZMnKzY2VgMGDFB+fr5++eUX/fLLL45fcO6olaNHj+q5555T69atNW7cOB09etQxryNHjsjT09Ppzdt1113n+FBz3XXXOf252G9RKzVXlXrp2bOn1q9fr7lz52rv3r36/PPPNXbsWPXs2fOsd5W/0Hpp1KiR/vznP2vGjBn6/PPPtXv3bk2ePFlbtmzRoEGDqBc3CQ4O1q233qoXX3xRGRkZ2rFjh5577jkVFhaqT58+ktxTL/7+/pXqwdPTU1dddZXje+rFtZo1a1bpNZdOH6trrrlGkvvOLZ06ddL06dP13//+V3v27NH8+fO1atUqDR06lFpxE5vNphtvvNFxbtm1a5emTJmizZs3O66irI31IvE+19W8vb31xBNP6O9//7tWr16tvXv3au7cuVq/fr369u0ryX2fiZ566imlpKRo6dKl2rdvn1JSUpSamqrHH3+cc4ubVKVe3HFuqZCZmSkvLy+1bNnSqZ16uXgyMzN17bXXnnEpkZoce0nq0aOHjh07phUrVji9xvfee6+uuuoqPfXUU9q8ebN27dqlMWPG6PPPP9eNN94oHx8f+fj4aO3atcrJydGPP/6ov/71r/rhhx/O+Ro3bNhQb7/9tl577TXHfh988IGuv/76SsvMSKf/sqKoqEj/+te/tH//fq1bt07PPPOMJJ3zcX6tQ4cOCg8P16hRo7R582Zt3bpVo0ePltV69lj5wQcf1PHjx/Xss88qMzNT3333nZ5++mn5+fk5rsKXTi/L8sMPP2jt2rWOpZKq8vpdcpdkZXRcUmVlZebVV181UVFRJiIiwvTv39/s27fvnPvMmjXLhIWFmYEDBxpjTt8wbdCgQaZt27ambdu25oknnjCZmZnnHOOzzz4z99xzjwkLCzN33HGHWbJkSZXmO336dBMaGmqOHj3q1J6fn29Gjx5tOnToYMLCwkxcXJxZs2aNY/v3339v/vKXv5iwsDDTsWNHM3DgQPPOO++YoKAgx/M90w0GvvnmG/Pwww+bdu3amfDwcPPYY485bjx2OTvTTT+NMWbLli3mL3/5i2nTpo25/fbbzf/93/+dc5x9+/aZO++807Rp08Zs3rzZGGPM4sWLTWxsrGndurXp1q2befPNNx03UTufM9300xjqyZXmzp1rbDbbGb8qbuhijOtrZdWqVWed15lq2Ziq3dymArVSM1Wtl3//+9/m/vvvN2FhYaZz587m5ZdfdtxQ6EwuxrmlpKTETJ8+3cTExJg2bdqY3r17n/VmXcZQL65SWFhoXnjhBdO5c2cTFhZm+vXrZ3bs2OHUxx318lu/vennb1Evrnem5+qOWjlx4oR5+eWXTZcuXUybNm3Mfffd53TcfotacY38/HwzZswY07lzZxMaGnrGc35trRfe57rewoULTdeuXU3r1q3NvffeW+mYuOszUVpamrnrrrtM69atzR133GGWL19+1r6cW1znfPXirvct8+fPN507d67Sc6BeauaFF14wf/nLX866vbrHvsLIkSNNdHR0pWO8d+9e89RTT5mbb77ZREREmAcffNDpd9m6detMz549TWhoqLn11lvNyJEjzbx580xERIQ5ceKE46afX331ldO4n376qenVq5eJiIgw7dq1M4MHD3a6Ieev2e1289prr5lOnTqZsLAwc9ddd5mFCxeahx9+2IwePdoYc+bc5rc1dvjwYfPMM8+Ytm3bmo4dO5q33nrLdOrU6aw3/TTGmK1bt5rHHnvMhIWFmfbt25unn37a/Pzzz5X6PfbYYyY6OrrSzVXP9/qdLQe7GCzGVPH6e6CGxowZo1OnTmnq1KnungouA9QTqopaQXVQL6gO6gVVRa2gOqgXVBW1guqgXi69Rx99VG3btq20/jzqLm76iUum4k93Vq9eraVLl7p7OqjjqCdUFbWC6qBeUB3UC6qKWkF1UC+oKmoF1UG9XHqffPKJtm/frm+//VavvPKKu6eDi4jAHJdMamqqPvvsMw0dOlRhYWHung7qOOoJVUWtoDqoF1QH9YKqolZQHdQLqopaQXVQL5deUlKS9uzZo4kTJ6p58+bung4uIpZkAQAAAAAAAABA0tlvZwoAAAAAAAAAwO8IgTkAAAAAAAAAACIwBwAAAAAAAABAEoE5AAAAAAAAAACSCMwBAAAAAAAAAJBEYA4AAAC4zahRoxQUFKT58+e79HFnz56toKCgSl8RERG66667NGvWLJWVlbl0TgAAAEBt4OnuCQAAAAC/R8ePH9fHH38sm82m5cuXq3///rJYLC6dQ0pKitPPBQUFWr16tf7+97/r1KlTGjlypEvnAwAAALgbgTkAAADgBh988IHKy8s1fvx4Pfroo1q3bp2io6NdOoeIiIhKbbfffrt++uknrVixgsAcAAAAvzssyQIAAAC4QWpqqjp06KAOHTqoZcuWWrZsWaU+ycnJ6tatm8LCwvTAAw/o008/VVBQkNLT0x19duzYoQEDBqhdu3Zq166dhgwZon379l3Q3Bo2bFip7d1331WvXr0UERGhsLAw3Xffffrwww8d21euXKmQkBBt2bJFvXv3VmhoqGJiYpSUlOQ0Tl5enkaMGKFbbrlFkZGRev755zVjxgx17dq10uP16NFDbdq0UUxMjGbPns0yMQAAALjkCMwBAAAAF9u1a5e2bNmiuLg4SVKvXr30n//8RwcPHnT0eeONNzR16lTdddddmjNnjsLDwzVixAincbKzs/XAAw8oPz9fL7/8siZNmqR9+/bpwQcfVH5+/nnnUVZW5vgqLS1VXl6eFi1apPXr1+v+++939Fu6dKmef/55devWTW+++aZee+01XXHFFUpMTNT+/fsd/ex2u4YPH667775b8+fP180336ypU6fqv//9rySptLRUjz32mL755huNHTtWU6ZMUWZmphYuXOg0rzfffFN//etf1bFjR82bN08PP/ywkpKS9Pzzz1f7tQYAAACqgyVZAAAAABdbsWKFfH191b17d0nS/fffr9dff13vvvuunnrqKZ08eVJJSUl6+OGH9eyzz0qSbr31VhUVFTmtO/7GG2/I29tbb731luOq8I4dO6p79+5asGCBnnvuuXPOo3Xr1pXarr76ag0dOlRPPvmko23fvn3q16+fhgwZ4mj74x//qF69eumbb77R1VdfLUkyxmjw4MH685//LEm6+eabtWbNGn322WeKjo7WqlWrtHv3bqWmpqpNmzaSpKioKMfrIEnHjh3T3Llz1bt3b40fP97x3Bs1aqTx48erb9++uvHGG6v4SgMAAADVQ2AOAAAAuFBZWZlWrVql7t27q6SkRCUlJfL29laHDh307rvvatCgQdq8ebOKi4v1//7f/3Pat2fPnk6B+VdffaUOHTrI29vbsVxJw4YN1b59e3355ZfnncuKFSskSSdOnNA//vEPpaena9y4cU4BtiSNHj1a0ukwe8+ePdqzZ482bNggSTp16pRT37Zt2zq+9/LyUuPGjXXy5EnHfK+99lpHWF4x39tvv92xzMy3336roqIide3a1WkJloolW9avX09gDgAAgEuGwBwAAABwoc8++0yHDh3SypUrtXLlykrb//Of/6i4uFiS1LhxY6dtf/jDH5x+PnLkiD788EOntcQr/HbfMwkNDXV8f8stt+jxxx/X8OHDtWjRIkVGRjq27d27V88//7y++uoreXp66oYbblBQUJCk01eV/5q3t7fTz1ar1dGnoKBA/v7+lebx6+d15MgRSXK6wv3X8vLyzvu8AAAAgJoiMAcAAABcaMWKFbrmmms0ZcqUStuGDRumZcuWaeDAgZKkw4cP64YbbnBsP3z4sFN/Hx8fderUSX379q00lqdn9d7qW61WTZ48WXfffbfGjBmjDz74QPXq1ZPdbteTTz6pK664QsuXL1dISIg8PT2VlZWlVatWVesxmjVrppycnErtv15v3dfXV5I0depUXX/99ZX6/vY/DQAAAICLiZt+AgAAAC5y6NAh/fe//1WPHj3UoUOHSl9333231q9fLx8fH/n4+Ojjjz922v+jjz5y+vmWW25RVlaWbrrpJoWGhio0NFRt2rTRW2+9pTVr1lR7fs2bN9egQYO0b98+zZ8/X9Lpq8Kzs7P1pz/9SWFhYY4g/osvvpB0+kafVXXLLbdo37592r59u6OtpKTEMZYkhYeH64orrtDBgwcdzyk0NFRXXHGFpk2bpp9++qnazwsAAACoKq4wBwAAAFzkvffeU1lZmXr06HHG7XFxcXr77be1evVqPfHEE5o1a5bq16+vW265RV9//bXeeecdSaevBpekwYMH64EHHtCAAQP04IMPql69ekpJSdEnn3yiWbNm1WiOffr00YoVK5SUlKT7779f1157ra655hotXbpUAQEB8vX11bp167R48WJJUlFRUZXH7tmzp+bPn68hQ4bo6aeflq+vrxYuXKj8/HzHjUP9/Pz0xBNPaObMmTp+/Lg6dOiggwcPaubMmbJYLAoODq7R8wIAAACqgivMAQAAABd57733dOONN5419A0LC9MNN9yg1NRU9evXT0899ZTS0tI0YMAAZWRk6Nlnn5UkNWjQQJIUHByspUuXymKxaNSoURo2bJh++eUX/f3vf9cdd9xRozl6eXlp7NixKikpcSwbM2fOHDVr1kyjR4/W8OHDtXnzZs2dO1c33HCDMjIyqjy2p6enkpOTFRISogkTJmjUqFGy2WyKjY11PCdJGj58uEaPHq01a9aof//+eu2113TzzTdryZIl8vHxqdHzAgAAAKrCYn57lx4AAAAAblVWVqbVq1erQ4cOat68uaN96dKleumll5Senu5Y67su2blzp3bv3q077rhDFovF0R4fH6/mzZvrjTfecOPsAAAAAJZkAQAAAGodT09PJSUlafHixRo0aJD8/PyUmZmpmTNn6v7776+TYbkknTx5Uk8//bQeeughxcbGqry8XKtXr9YPP/ygxMREd08PAAAA4ApzAAAAoDbat2+fpk+frvT0dBUWFurqq6/WvffeqwEDBuiKK65w9/Rq7N///reSk5O1a9cuGWMUEhKiQYMG6dZbb3X31AAAAAACcwAAAAAAAAAAJG76CQAAAAAAAACAJAJzAAAAAAAAAAAkEZgDAAAAAAAAACCJwBwAAAAAAAAAAEkE5gAAAAAAAAAASCIwBwAAAAAAAABAEoE5AAAAAAAAAACSCMwBAAAAAAAAAJBEYA4AAAAAAAAAgCTp/wPeuQJ/Z3U0WgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "my_order =['0 to 9 years', '10 to 19 years', '20 to 24 years', '25 to 34 years', '35 to 44 years', '45 to 54 years', '55 to 59 years', '60 to 64 years', '65 to 74 years', '75 years and over']\n", "sns.catplot(x='Age Range', kind=\"count\", data=mission_district, order=my_order, aspect=3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die obere Grafik beantwortet die Frage schon ganz gut, dennoch können wir uns auch die genauen Werte über eine Kreuztabelle ausgeben lassen:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Age Range0 to 9 years10 to 19 years20 to 24 years25 to 34 years35 to 44 years45 to 54 years55 to 59 years60 to 64 years65 to 74 years75 years and over
Home Library Definition
Mission0.0543780.1734890.051830.2188130.2293850.1239360.0406070.0346980.0491190.023746
All0.0543780.1734890.051830.2188130.2293850.1239360.0406070.0346980.0491190.023746
\n", "
" ], "text/plain": [ "Age Range 0 to 9 years 10 to 19 years 20 to 24 years \\\n", "Home Library Definition \n", "Mission 0.054378 0.173489 0.05183 \n", "All 0.054378 0.173489 0.05183 \n", "\n", "Age Range 25 to 34 years 35 to 44 years 45 to 54 years \\\n", "Home Library Definition \n", "Mission 0.218813 0.229385 0.123936 \n", "All 0.218813 0.229385 0.123936 \n", "\n", "Age Range 55 to 59 years 60 to 64 years 65 to 74 years \\\n", "Home Library Definition \n", "Mission 0.040607 0.034698 0.049119 \n", "All 0.040607 0.034698 0.049119 \n", "\n", "Age Range 75 years and over \n", "Home Library Definition \n", "Mission 0.023746 \n", "All 0.023746 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.crosstab(\n", " mission_district['Home Library Definition'],\n", " mission_district['Age Range'],\n", " margins=True, normalize=0\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###### Antwort auf Frage 6\n", "Die Verteilung der Altersgruppen im Mission District ist wie folgt:\n", "- ca. 5% der Nutzer sind zwischen 0 und 9 Jahren,\n", "- ca. 17% der Nutzer sind zwischen 10 und 19 Jahren,\n", " \n", "...\n", "\n", "- ca. 5% der Nutzer sind zwischen 65 und 74 Jahren,\n", "- ca. 2% der Nutzer sind 75 Jahre und älter.\n", "\n", "\n", "----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Frage 7: Erklärung von Normalisierung von Kreuztabellen (Kapitel 3 im Skript)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wir nutzen das Beispiel von oben (Alterskategorien und Benachrichtigungsart aus Frage 3).\n", "Zuerst einmal eine nicht normalisierte Kreuztabelle:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Age Range0 to 9 years10 to 19 years20 to 24 years25 to 34 years35 to 44 years45 to 54 years55 to 59 years60 to 64 years65 to 74 years75 years and overAll
Notice Preference Definition
Email28740549362270188200776184516517336155392717015069392474
None3952119212680446941013154174021154544422842904
All32692668572538192669817194831919076176543171419297435378
\n", "
" ], "text/plain": [ "Age Range 0 to 9 years 10 to 19 years 20 to 24 years \\\n", "Notice Preference Definition \n", "Email 28740 54936 22701 \n", "None 3952 11921 2680 \n", "All 32692 66857 25381 \n", "\n", "Age Range 25 to 34 years 35 to 44 years 45 to 54 years \\\n", "Notice Preference Definition \n", "Email 88200 77618 45165 \n", "None 4469 4101 3154 \n", "All 92669 81719 48319 \n", "\n", "Age Range 55 to 59 years 60 to 64 years 65 to 74 years \\\n", "Notice Preference Definition \n", "Email 17336 15539 27170 \n", "None 1740 2115 4544 \n", "All 19076 17654 31714 \n", "\n", "Age Range 75 years and over All \n", "Notice Preference Definition \n", "Email 15069 392474 \n", "None 4228 42904 \n", "All 19297 435378 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Nun möchten wir das prozentual betrachten:\n", "pd.crosstab(\n", " benachrichtigung['Notice Preference Definition'],\n", " benachrichtigung['Age Range'],\n", " margins=True\n", ")\n", "# die Reihenfolge der betrachteten Spalten 'Notice Preference Definition' und 'Age Range' spielt keine Rolle, \n", "# probiere es ruhig aus\"" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Age Range0 to 9 years10 to 19 years20 to 24 years25 to 34 years35 to 44 years45 to 54 years55 to 59 years60 to 64 years65 to 74 years75 years and over
Notice Preference Definition
Email0.0732280.1399740.0578410.2247280.1977660.1150780.0441710.0395920.0692280.038395
None0.0921130.2778530.0624650.1041630.0955850.0735130.0405560.0492960.1059110.098546
All0.0750890.1535610.0582960.2128470.1876970.1109820.0438150.0405490.0728420.044322
\n", "
" ], "text/plain": [ "Age Range 0 to 9 years 10 to 19 years 20 to 24 years \\\n", "Notice Preference Definition \n", "Email 0.073228 0.139974 0.057841 \n", "None 0.092113 0.277853 0.062465 \n", "All 0.075089 0.153561 0.058296 \n", "\n", "Age Range 25 to 34 years 35 to 44 years 45 to 54 years \\\n", "Notice Preference Definition \n", "Email 0.224728 0.197766 0.115078 \n", "None 0.104163 0.095585 0.073513 \n", "All 0.212847 0.187697 0.110982 \n", "\n", "Age Range 55 to 59 years 60 to 64 years 65 to 74 years \\\n", "Notice Preference Definition \n", "Email 0.044171 0.039592 0.069228 \n", "None 0.040556 0.049296 0.105911 \n", "All 0.043815 0.040549 0.072842 \n", "\n", "Age Range 75 years and over \n", "Notice Preference Definition \n", "Email 0.038395 \n", "None 0.098546 \n", "All 0.044322 " ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Nun normalisieren wir nach Zeilen (normalize=0)\n", "pd.crosstab(\n", " benachrichtigung['Notice Preference Definition'],\n", " benachrichtigung['Age Range'],\n", " margins=True, normalize=0\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hier sehen wir, dass jede Zeile in der Summe 1 ergibt. D.h. wir können die Tabelle prozentual nach Zeilen interpretieren.\n", "Also z.B. erste Zeile: Von allen Nutzern, die per Mail informiert werden möchten, befinden sich ca. 12% (0.115078 von 1) in der Altersgruppe 45 bis 54 Jahre.\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Age Range0 to 9 years10 to 19 years20 to 24 years25 to 34 years35 to 44 years45 to 54 years55 to 59 years60 to 64 years65 to 74 years75 years and overAll
Notice Preference Definition
Email0.8791140.8216940.8944090.9517750.9498160.9347250.9087860.8801970.8567190.7808990.901456
None0.1208860.1783060.1055910.0482250.0501840.0652750.0912140.1198030.1432810.2191010.098544
\n", "
" ], "text/plain": [ "Age Range 0 to 9 years 10 to 19 years 20 to 24 years \\\n", "Notice Preference Definition \n", "Email 0.879114 0.821694 0.894409 \n", "None 0.120886 0.178306 0.105591 \n", "\n", "Age Range 25 to 34 years 35 to 44 years 45 to 54 years \\\n", "Notice Preference Definition \n", "Email 0.951775 0.949816 0.934725 \n", "None 0.048225 0.050184 0.065275 \n", "\n", "Age Range 55 to 59 years 60 to 64 years 65 to 74 years \\\n", "Notice Preference Definition \n", "Email 0.908786 0.880197 0.856719 \n", "None 0.091214 0.119803 0.143281 \n", "\n", "Age Range 75 years and over All \n", "Notice Preference Definition \n", "Email 0.780899 0.901456 \n", "None 0.219101 0.098544 " ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Als Vergleich normalisieren wir nach Spalten (normalize=1)\n", "pd.crosstab(\n", " benachrichtigung['Notice Preference Definition'],\n", " benachrichtigung['Age Range'],\n", " margins=True, normalize=1\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hier sehen wir, dass jede Spalte in der Summe 1 ergibt. D.h. wir können die Tabelle prozentual nach Spalten interpretieren.\n", "Also z.B. erste Spalte: Von allen Nutzern, die zwischen 0 und 9 Jahren sind, möchten sich ca. 12% (0.120886 von 1) nicht informieren lassen.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----" ] } ], "metadata": { "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.9.13" } }, "nbformat": 4, "nbformat_minor": 4 }