diff --git "a/dps_challenge_notebook.ipynb" "b/dps_challenge_notebook.ipynb"
new file mode 100644--- /dev/null
+++ "b/dps_challenge_notebook.ipynb"
@@ -0,0 +1,3058 @@
+{
+  "cells": [
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "D4Yal6HOyyBt"
+      },
+      "source": [
+        "# Importing Libraries & loading data"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 84,
+      "metadata": {
+        "id": "Sesct3fTzQVW"
+      },
+      "outputs": [],
+      "source": [
+        "import pandas as pd\n",
+        "import matplotlib.pyplot as plt\n",
+        "from sklearn.preprocessing import LabelEncoder, StandardScaler, OneHotEncoder\n",
+        "import xgboost as xgb\n",
+        "from sklearn.model_selection import train_test_split, GridSearchCV\n",
+        "import numpy as np\n",
+        "from sklearn.metrics import mean_squared_error\n",
+        "from xgboost import XGBRegressor\n",
+        "import calendar\n",
+        "import pickle"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "h5D2aP28yyBw"
+      },
+      "source": [
+        "# Checking the data for null values"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 85,
+      "metadata": {
+        "id": "WGqXaM-XzQVX"
+      },
+      "outputs": [],
+      "source": [
+        "parent_df = pd.read_csv(\"/content/monatszahlen2412_verkehrsunfaelle_06_12_24.csv\")\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 86,
+      "metadata": {
+        "id": "zBBpsXqszQVY",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "a61d9595-6efe-4111-9192-529e54dd7fe3"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "<class 'pandas.core.frame.DataFrame'>\n",
+            "RangeIndex: 2254 entries, 0 to 2253\n",
+            "Data columns (total 9 columns):\n",
+            " #   Column                          Non-Null Count  Dtype  \n",
+            "---  ------                          --------------  -----  \n",
+            " 0   MONATSZAHL                      2254 non-null   object \n",
+            " 1   AUSPRAEGUNG                     2254 non-null   object \n",
+            " 2   JAHR                            2254 non-null   int64  \n",
+            " 3   MONAT                           2254 non-null   object \n",
+            " 4   WERT                            2086 non-null   float64\n",
+            " 5   VORJAHRESWERT                   2086 non-null   float64\n",
+            " 6   VERAEND_VORMONAT_PROZENT        1924 non-null   float64\n",
+            " 7   VERAEND_VORJAHRESMONAT_PROZENT  2001 non-null   float64\n",
+            " 8   ZWOELF_MONATE_MITTELWERT        1932 non-null   float64\n",
+            "dtypes: float64(5), int64(1), object(3)\n",
+            "memory usage: 158.6+ KB\n",
+            "None\n",
+            "MONATSZAHL                          0\n",
+            "AUSPRAEGUNG                         0\n",
+            "JAHR                                0\n",
+            "MONAT                               0\n",
+            "WERT                              168\n",
+            "VORJAHRESWERT                     168\n",
+            "VERAEND_VORMONAT_PROZENT          330\n",
+            "VERAEND_VORJAHRESMONAT_PROZENT    253\n",
+            "ZWOELF_MONATE_MITTELWERT          322\n",
+            "dtype: int64\n"
+          ]
+        }
+      ],
+      "source": [
+        "print(parent_df.info())\n",
+        "print(parent_df.isna().sum())\n"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Only using the 5 columns since only they are deemed important in the instructions\n",
+        "\n",
+        "Important are the first 5 columns:\n",
+        "Category\n",
+        "Accident-type (insgesamt means total for all subcategories)\n",
+        "Year\n",
+        "Month\n",
+        "Value\n"
+      ],
+      "metadata": {
+        "id": "3beiNb3QAS_M"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "parent_df = parent_df[['MONATSZAHL', 'AUSPRAEGUNG', 'JAHR', 'MONAT', 'WERT']]\n",
+        "\n",
+        "print(f\"Unqiue values of MONATSZAHL: {parent_df['MONATSZAHL'].unique()}\")\n",
+        "print(f\"Unqiue values of AUSPRAEGUNG: {parent_df['AUSPRAEGUNG'].unique()}\")\n",
+        "print(f\"Unqiue valus of JAHR: {parent_df['JAHR'].unique()}\")\n",
+        "print(f\"Unqiue valus of MONAT: {parent_df['MONAT'].unique()}\")\n"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "xTZE4w5qASTn",
+        "outputId": "60696fe6-ee69-4ca6-b947-5d491b91a1b7"
+      },
+      "execution_count": 87,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Unqiue values of MONATSZAHL: ['Alkoholunfälle' 'Fluchtunfälle' 'Verkehrsunfälle']\n",
+            "Unqiue values of AUSPRAEGUNG: ['insgesamt' 'Verletzte und Getötete' 'mit Personenschäden']\n",
+            "Unqiue valus of JAHR: [2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011\n",
+            " 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000]\n",
+            "Unqiue valus of MONAT: ['202401' '202402' '202403' '202404' '202405' '202406' '202407' '202408'\n",
+            " '202409' '202410' '202411' '202412' '202301' '202302' '202303' '202304'\n",
+            " '202305' '202306' '202307' '202308' '202309' '202310' '202311' '202312'\n",
+            " 'Summe' '202201' '202202' '202203' '202204' '202205' '202206' '202207'\n",
+            " '202208' '202209' '202210' '202211' '202212' '202101' '202102' '202103'\n",
+            " '202104' '202105' '202106' '202107' '202108' '202109' '202110' '202111'\n",
+            " '202112' '202001' '202002' '202003' '202004' '202005' '202006' '202007'\n",
+            " '202008' '202009' '202010' '202011' '202012' '201901' '201902' '201903'\n",
+            " '201904' '201905' '201906' '201907' '201908' '201909' '201910' '201911'\n",
+            " '201912' '201801' '201802' '201803' '201804' '201805' '201806' '201807'\n",
+            " '201808' '201809' '201810' '201811' '201812' '201701' '201702' '201703'\n",
+            " '201704' '201705' '201706' '201707' '201708' '201709' '201710' '201711'\n",
+            " '201712' '201601' '201602' '201603' '201604' '201605' '201606' '201607'\n",
+            " '201608' '201609' '201610' '201611' '201612' '201501' '201502' '201503'\n",
+            " '201504' '201505' '201506' '201507' '201508' '201509' '201510' '201511'\n",
+            " '201512' '201401' '201402' '201403' '201404' '201405' '201406' '201407'\n",
+            " '201408' '201409' '201410' '201411' '201412' '201301' '201302' '201303'\n",
+            " '201304' '201305' '201306' '201307' '201308' '201309' '201310' '201311'\n",
+            " '201312' '201201' '201202' '201203' '201204' '201205' '201206' '201207'\n",
+            " '201208' '201209' '201210' '201211' '201212' '201101' '201102' '201103'\n",
+            " '201104' '201105' '201106' '201107' '201108' '201109' '201110' '201111'\n",
+            " '201112' '201001' '201002' '201003' '201004' '201005' '201006' '201007'\n",
+            " '201008' '201009' '201010' '201011' '201012' '200901' '200902' '200903'\n",
+            " '200904' '200905' '200906' '200907' '200908' '200909' '200910' '200911'\n",
+            " '200912' '200801' '200802' '200803' '200804' '200805' '200806' '200807'\n",
+            " '200808' '200809' '200810' '200811' '200812' '200701' '200702' '200703'\n",
+            " '200704' '200705' '200706' '200707' '200708' '200709' '200710' '200711'\n",
+            " '200712' '200601' '200602' '200603' '200604' '200605' '200606' '200607'\n",
+            " '200608' '200609' '200610' '200611' '200612' '200501' '200502' '200503'\n",
+            " '200504' '200505' '200506' '200507' '200508' '200509' '200510' '200511'\n",
+            " '200512' '200401' '200402' '200403' '200404' '200405' '200406' '200407'\n",
+            " '200408' '200409' '200410' '200411' '200412' '200301' '200302' '200303'\n",
+            " '200304' '200305' '200306' '200307' '200308' '200309' '200310' '200311'\n",
+            " '200312' '200201' '200202' '200203' '200204' '200205' '200206' '200207'\n",
+            " '200208' '200209' '200210' '200211' '200212' '200101' '200102' '200103'\n",
+            " '200104' '200105' '200106' '200107' '200108' '200109' '200110' '200111'\n",
+            " '200112' '200001' '200002' '200003' '200004' '200005' '200006' '200007'\n",
+            " '200008' '200009' '200010' '200011' '200012']\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Dropping the rows where the year value is after 2020"
+      ],
+      "metadata": {
+        "id": "-6-k9bkqAeCn"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 88,
+      "metadata": {
+        "id": "r5SG6rjMzQVY",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "9a45ba3d-234c-49ca-e722-bb97db5348d3"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Unqiue values of JAHR: [2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006\n",
+            " 2005 2004 2003 2002 2001 2000]\n"
+          ]
+        }
+      ],
+      "source": [
+        "parent_df = parent_df[parent_df['JAHR']<2020]\n",
+        "\n",
+        "print(f\"Unqiue values of JAHR: {parent_df['JAHR'].unique()}\")"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "parent_df.head(2)"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 112
+        },
+        "id": "jWNecV_uAkkq",
+        "outputId": "501a5e7a-6f21-4fc2-8137-d562e0b6bd5d"
+      },
+      "execution_count": 89,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "        MONATSZAHL AUSPRAEGUNG  JAHR   MONAT   WERT\n",
+              "63  Alkoholunfälle   insgesamt  2019   Summe  434.0\n",
+              "64  Alkoholunfälle   insgesamt  2019  201901   22.0"
+            ],
+            "text/html": [
+              "\n",
+              "  <div id=\"df-4364bf7f-47ec-45c0-a3dc-4dc3eba953ee\" class=\"colab-df-container\">\n",
+              "    <div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>MONATSZAHL</th>\n",
+              "      <th>AUSPRAEGUNG</th>\n",
+              "      <th>JAHR</th>\n",
+              "      <th>MONAT</th>\n",
+              "      <th>WERT</th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>63</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>Summe</td>\n",
+              "      <td>434.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>64</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>201901</td>\n",
+              "      <td>22.0</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div>\n",
+              "    <div class=\"colab-df-buttons\">\n",
+              "\n",
+              "  <div class=\"colab-df-container\">\n",
+              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-4364bf7f-47ec-45c0-a3dc-4dc3eba953ee')\"\n",
+              "            title=\"Convert this dataframe to an interactive table.\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
+              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
+              "  </svg>\n",
+              "    </button>\n",
+              "\n",
+              "  <style>\n",
+              "    .colab-df-container {\n",
+              "      display:flex;\n",
+              "      gap: 12px;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-convert {\n",
+              "      background-color: #E8F0FE;\n",
+              "      border: none;\n",
+              "      border-radius: 50%;\n",
+              "      cursor: pointer;\n",
+              "      display: none;\n",
+              "      fill: #1967D2;\n",
+              "      height: 32px;\n",
+              "      padding: 0 0 0 0;\n",
+              "      width: 32px;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-convert:hover {\n",
+              "      background-color: #E2EBFA;\n",
+              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "      fill: #174EA6;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-buttons div {\n",
+              "      margin-bottom: 4px;\n",
+              "    }\n",
+              "\n",
+              "    [theme=dark] .colab-df-convert {\n",
+              "      background-color: #3B4455;\n",
+              "      fill: #D2E3FC;\n",
+              "    }\n",
+              "\n",
+              "    [theme=dark] .colab-df-convert:hover {\n",
+              "      background-color: #434B5C;\n",
+              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
+              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
+              "      fill: #FFFFFF;\n",
+              "    }\n",
+              "  </style>\n",
+              "\n",
+              "    <script>\n",
+              "      const buttonEl =\n",
+              "        document.querySelector('#df-4364bf7f-47ec-45c0-a3dc-4dc3eba953ee button.colab-df-convert');\n",
+              "      buttonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "\n",
+              "      async function convertToInteractive(key) {\n",
+              "        const element = document.querySelector('#df-4364bf7f-47ec-45c0-a3dc-4dc3eba953ee');\n",
+              "        const dataTable =\n",
+              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
+              "                                                    [key], {});\n",
+              "        if (!dataTable) return;\n",
+              "\n",
+              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
+              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
+              "          + ' to learn more about interactive tables.';\n",
+              "        element.innerHTML = '';\n",
+              "        dataTable['output_type'] = 'display_data';\n",
+              "        await google.colab.output.renderOutput(dataTable, element);\n",
+              "        const docLink = document.createElement('div');\n",
+              "        docLink.innerHTML = docLinkHtml;\n",
+              "        element.appendChild(docLink);\n",
+              "      }\n",
+              "    </script>\n",
+              "  </div>\n",
+              "\n",
+              "\n",
+              "<div id=\"df-183ee9d6-0baf-4107-ad56-bb33e02dc441\">\n",
+              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-183ee9d6-0baf-4107-ad56-bb33e02dc441')\"\n",
+              "            title=\"Suggest charts\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
+              "     width=\"24px\">\n",
+              "    <g>\n",
+              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
+              "    </g>\n",
+              "</svg>\n",
+              "  </button>\n",
+              "\n",
+              "<style>\n",
+              "  .colab-df-quickchart {\n",
+              "      --bg-color: #E8F0FE;\n",
+              "      --fill-color: #1967D2;\n",
+              "      --hover-bg-color: #E2EBFA;\n",
+              "      --hover-fill-color: #174EA6;\n",
+              "      --disabled-fill-color: #AAA;\n",
+              "      --disabled-bg-color: #DDD;\n",
+              "  }\n",
+              "\n",
+              "  [theme=dark] .colab-df-quickchart {\n",
+              "      --bg-color: #3B4455;\n",
+              "      --fill-color: #D2E3FC;\n",
+              "      --hover-bg-color: #434B5C;\n",
+              "      --hover-fill-color: #FFFFFF;\n",
+              "      --disabled-bg-color: #3B4455;\n",
+              "      --disabled-fill-color: #666;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart {\n",
+              "    background-color: var(--bg-color);\n",
+              "    border: none;\n",
+              "    border-radius: 50%;\n",
+              "    cursor: pointer;\n",
+              "    display: none;\n",
+              "    fill: var(--fill-color);\n",
+              "    height: 32px;\n",
+              "    padding: 0;\n",
+              "    width: 32px;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart:hover {\n",
+              "    background-color: var(--hover-bg-color);\n",
+              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "    fill: var(--button-hover-fill-color);\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart-complete:disabled,\n",
+              "  .colab-df-quickchart-complete:disabled:hover {\n",
+              "    background-color: var(--disabled-bg-color);\n",
+              "    fill: var(--disabled-fill-color);\n",
+              "    box-shadow: none;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-spinner {\n",
+              "    border: 2px solid var(--fill-color);\n",
+              "    border-color: transparent;\n",
+              "    border-bottom-color: var(--fill-color);\n",
+              "    animation:\n",
+              "      spin 1s steps(1) infinite;\n",
+              "  }\n",
+              "\n",
+              "  @keyframes spin {\n",
+              "    0% {\n",
+              "      border-color: transparent;\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "      border-left-color: var(--fill-color);\n",
+              "    }\n",
+              "    20% {\n",
+              "      border-color: transparent;\n",
+              "      border-left-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "    }\n",
+              "    30% {\n",
+              "      border-color: transparent;\n",
+              "      border-left-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "      border-right-color: var(--fill-color);\n",
+              "    }\n",
+              "    40% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "    }\n",
+              "    60% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "    }\n",
+              "    80% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "    }\n",
+              "    90% {\n",
+              "      border-color: transparent;\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "    }\n",
+              "  }\n",
+              "</style>\n",
+              "\n",
+              "  <script>\n",
+              "    async function quickchart(key) {\n",
+              "      const quickchartButtonEl =\n",
+              "        document.querySelector('#' + key + ' button');\n",
+              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
+              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
+              "      try {\n",
+              "        const charts = await google.colab.kernel.invokeFunction(\n",
+              "            'suggestCharts', [key], {});\n",
+              "      } catch (error) {\n",
+              "        console.error('Error during call to suggestCharts:', error);\n",
+              "      }\n",
+              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
+              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
+              "    }\n",
+              "    (() => {\n",
+              "      let quickchartButtonEl =\n",
+              "        document.querySelector('#df-183ee9d6-0baf-4107-ad56-bb33e02dc441 button');\n",
+              "      quickchartButtonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "    })();\n",
+              "  </script>\n",
+              "</div>\n",
+              "\n",
+              "    </div>\n",
+              "  </div>\n"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "dataframe",
+              "variable_name": "parent_df",
+              "summary": "{\n  \"name\": \"parent_df\",\n  \"rows\": 1813,\n  \"fields\": [\n    {\n      \"column\": \"MONATSZAHL\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"Alkoholunf\\u00e4lle\",\n          \"Fluchtunf\\u00e4lle\",\n          \"Verkehrsunf\\u00e4lle\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"AUSPRAEGUNG\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"insgesamt\",\n          \"Verletzte und Get\\u00f6tete\",\n          \"mit Personensch\\u00e4den\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"JAHR\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 5,\n        \"min\": 2000,\n        \"max\": 2019,\n        \"num_unique_values\": 20,\n        \"samples\": [\n          2019,\n          2002,\n          2004\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"MONAT\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 241,\n        \"samples\": [\n          \"201812\",\n          \"201906\",\n          \"200106\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"WERT\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 4565.788307713133,\n        \"min\": 0.0,\n        \"max\": 46988.0,\n        \"num_unique_values\": 903,\n        \"samples\": [\n          74.0,\n          4074.0,\n          951.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
+            }
+          },
+          "metadata": {},
+          "execution_count": 89
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "parent_df.reset_index(drop=True, inplace=True)\n",
+        "\n",
+        "parent_df"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 424
+        },
+        "id": "vYRSRdsCAmRY",
+        "outputId": "7810682a-213e-4df6-e32a-15a3fecc1b67"
+      },
+      "execution_count": 90,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "           MONATSZAHL             AUSPRAEGUNG  JAHR   MONAT   WERT\n",
+              "0      Alkoholunfälle               insgesamt  2019   Summe  434.0\n",
+              "1      Alkoholunfälle               insgesamt  2019  201901   22.0\n",
+              "2      Alkoholunfälle               insgesamt  2019  201902   28.0\n",
+              "3      Alkoholunfälle               insgesamt  2019  201903   34.0\n",
+              "4      Alkoholunfälle               insgesamt  2019  201904   36.0\n",
+              "...               ...                     ...   ...     ...    ...\n",
+              "1808  Verkehrsunfälle  Verletzte und Getötete  2000  200008  647.0\n",
+              "1809  Verkehrsunfälle  Verletzte und Getötete  2000  200009  675.0\n",
+              "1810  Verkehrsunfälle  Verletzte und Getötete  2000  200010  615.0\n",
+              "1811  Verkehrsunfälle  Verletzte und Getötete  2000  200011  578.0\n",
+              "1812  Verkehrsunfälle  Verletzte und Getötete  2000  200012  515.0\n",
+              "\n",
+              "[1813 rows x 5 columns]"
+            ],
+            "text/html": [
+              "\n",
+              "  <div id=\"df-f4c63708-65b2-4964-be28-38e1b014e155\" class=\"colab-df-container\">\n",
+              "    <div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>MONATSZAHL</th>\n",
+              "      <th>AUSPRAEGUNG</th>\n",
+              "      <th>JAHR</th>\n",
+              "      <th>MONAT</th>\n",
+              "      <th>WERT</th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>0</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>Summe</td>\n",
+              "      <td>434.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>201901</td>\n",
+              "      <td>22.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>201902</td>\n",
+              "      <td>28.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>3</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>201903</td>\n",
+              "      <td>34.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>4</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>201904</td>\n",
+              "      <td>36.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>...</th>\n",
+              "      <td>...</td>\n",
+              "      <td>...</td>\n",
+              "      <td>...</td>\n",
+              "      <td>...</td>\n",
+              "      <td>...</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1808</th>\n",
+              "      <td>Verkehrsunfälle</td>\n",
+              "      <td>Verletzte und Getötete</td>\n",
+              "      <td>2000</td>\n",
+              "      <td>200008</td>\n",
+              "      <td>647.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1809</th>\n",
+              "      <td>Verkehrsunfälle</td>\n",
+              "      <td>Verletzte und Getötete</td>\n",
+              "      <td>2000</td>\n",
+              "      <td>200009</td>\n",
+              "      <td>675.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1810</th>\n",
+              "      <td>Verkehrsunfälle</td>\n",
+              "      <td>Verletzte und Getötete</td>\n",
+              "      <td>2000</td>\n",
+              "      <td>200010</td>\n",
+              "      <td>615.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1811</th>\n",
+              "      <td>Verkehrsunfälle</td>\n",
+              "      <td>Verletzte und Getötete</td>\n",
+              "      <td>2000</td>\n",
+              "      <td>200011</td>\n",
+              "      <td>578.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1812</th>\n",
+              "      <td>Verkehrsunfälle</td>\n",
+              "      <td>Verletzte und Getötete</td>\n",
+              "      <td>2000</td>\n",
+              "      <td>200012</td>\n",
+              "      <td>515.0</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "<p>1813 rows × 5 columns</p>\n",
+              "</div>\n",
+              "    <div class=\"colab-df-buttons\">\n",
+              "\n",
+              "  <div class=\"colab-df-container\">\n",
+              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-f4c63708-65b2-4964-be28-38e1b014e155')\"\n",
+              "            title=\"Convert this dataframe to an interactive table.\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
+              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
+              "  </svg>\n",
+              "    </button>\n",
+              "\n",
+              "  <style>\n",
+              "    .colab-df-container {\n",
+              "      display:flex;\n",
+              "      gap: 12px;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-convert {\n",
+              "      background-color: #E8F0FE;\n",
+              "      border: none;\n",
+              "      border-radius: 50%;\n",
+              "      cursor: pointer;\n",
+              "      display: none;\n",
+              "      fill: #1967D2;\n",
+              "      height: 32px;\n",
+              "      padding: 0 0 0 0;\n",
+              "      width: 32px;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-convert:hover {\n",
+              "      background-color: #E2EBFA;\n",
+              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "      fill: #174EA6;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-buttons div {\n",
+              "      margin-bottom: 4px;\n",
+              "    }\n",
+              "\n",
+              "    [theme=dark] .colab-df-convert {\n",
+              "      background-color: #3B4455;\n",
+              "      fill: #D2E3FC;\n",
+              "    }\n",
+              "\n",
+              "    [theme=dark] .colab-df-convert:hover {\n",
+              "      background-color: #434B5C;\n",
+              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
+              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
+              "      fill: #FFFFFF;\n",
+              "    }\n",
+              "  </style>\n",
+              "\n",
+              "    <script>\n",
+              "      const buttonEl =\n",
+              "        document.querySelector('#df-f4c63708-65b2-4964-be28-38e1b014e155 button.colab-df-convert');\n",
+              "      buttonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "\n",
+              "      async function convertToInteractive(key) {\n",
+              "        const element = document.querySelector('#df-f4c63708-65b2-4964-be28-38e1b014e155');\n",
+              "        const dataTable =\n",
+              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
+              "                                                    [key], {});\n",
+              "        if (!dataTable) return;\n",
+              "\n",
+              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
+              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
+              "          + ' to learn more about interactive tables.';\n",
+              "        element.innerHTML = '';\n",
+              "        dataTable['output_type'] = 'display_data';\n",
+              "        await google.colab.output.renderOutput(dataTable, element);\n",
+              "        const docLink = document.createElement('div');\n",
+              "        docLink.innerHTML = docLinkHtml;\n",
+              "        element.appendChild(docLink);\n",
+              "      }\n",
+              "    </script>\n",
+              "  </div>\n",
+              "\n",
+              "\n",
+              "<div id=\"df-9da17884-2834-4ff9-a004-d6a5438b9382\">\n",
+              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-9da17884-2834-4ff9-a004-d6a5438b9382')\"\n",
+              "            title=\"Suggest charts\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
+              "     width=\"24px\">\n",
+              "    <g>\n",
+              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
+              "    </g>\n",
+              "</svg>\n",
+              "  </button>\n",
+              "\n",
+              "<style>\n",
+              "  .colab-df-quickchart {\n",
+              "      --bg-color: #E8F0FE;\n",
+              "      --fill-color: #1967D2;\n",
+              "      --hover-bg-color: #E2EBFA;\n",
+              "      --hover-fill-color: #174EA6;\n",
+              "      --disabled-fill-color: #AAA;\n",
+              "      --disabled-bg-color: #DDD;\n",
+              "  }\n",
+              "\n",
+              "  [theme=dark] .colab-df-quickchart {\n",
+              "      --bg-color: #3B4455;\n",
+              "      --fill-color: #D2E3FC;\n",
+              "      --hover-bg-color: #434B5C;\n",
+              "      --hover-fill-color: #FFFFFF;\n",
+              "      --disabled-bg-color: #3B4455;\n",
+              "      --disabled-fill-color: #666;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart {\n",
+              "    background-color: var(--bg-color);\n",
+              "    border: none;\n",
+              "    border-radius: 50%;\n",
+              "    cursor: pointer;\n",
+              "    display: none;\n",
+              "    fill: var(--fill-color);\n",
+              "    height: 32px;\n",
+              "    padding: 0;\n",
+              "    width: 32px;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart:hover {\n",
+              "    background-color: var(--hover-bg-color);\n",
+              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "    fill: var(--button-hover-fill-color);\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart-complete:disabled,\n",
+              "  .colab-df-quickchart-complete:disabled:hover {\n",
+              "    background-color: var(--disabled-bg-color);\n",
+              "    fill: var(--disabled-fill-color);\n",
+              "    box-shadow: none;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-spinner {\n",
+              "    border: 2px solid var(--fill-color);\n",
+              "    border-color: transparent;\n",
+              "    border-bottom-color: var(--fill-color);\n",
+              "    animation:\n",
+              "      spin 1s steps(1) infinite;\n",
+              "  }\n",
+              "\n",
+              "  @keyframes spin {\n",
+              "    0% {\n",
+              "      border-color: transparent;\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "      border-left-color: var(--fill-color);\n",
+              "    }\n",
+              "    20% {\n",
+              "      border-color: transparent;\n",
+              "      border-left-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "    }\n",
+              "    30% {\n",
+              "      border-color: transparent;\n",
+              "      border-left-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "      border-right-color: var(--fill-color);\n",
+              "    }\n",
+              "    40% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "    }\n",
+              "    60% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "    }\n",
+              "    80% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "    }\n",
+              "    90% {\n",
+              "      border-color: transparent;\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "    }\n",
+              "  }\n",
+              "</style>\n",
+              "\n",
+              "  <script>\n",
+              "    async function quickchart(key) {\n",
+              "      const quickchartButtonEl =\n",
+              "        document.querySelector('#' + key + ' button');\n",
+              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
+              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
+              "      try {\n",
+              "        const charts = await google.colab.kernel.invokeFunction(\n",
+              "            'suggestCharts', [key], {});\n",
+              "      } catch (error) {\n",
+              "        console.error('Error during call to suggestCharts:', error);\n",
+              "      }\n",
+              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
+              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
+              "    }\n",
+              "    (() => {\n",
+              "      let quickchartButtonEl =\n",
+              "        document.querySelector('#df-9da17884-2834-4ff9-a004-d6a5438b9382 button');\n",
+              "      quickchartButtonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "    })();\n",
+              "  </script>\n",
+              "</div>\n",
+              "\n",
+              "  <div id=\"id_f0cfdb3b-da69-4f4b-9857-f9dafea63c32\">\n",
+              "    <style>\n",
+              "      .colab-df-generate {\n",
+              "        background-color: #E8F0FE;\n",
+              "        border: none;\n",
+              "        border-radius: 50%;\n",
+              "        cursor: pointer;\n",
+              "        display: none;\n",
+              "        fill: #1967D2;\n",
+              "        height: 32px;\n",
+              "        padding: 0 0 0 0;\n",
+              "        width: 32px;\n",
+              "      }\n",
+              "\n",
+              "      .colab-df-generate:hover {\n",
+              "        background-color: #E2EBFA;\n",
+              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "        fill: #174EA6;\n",
+              "      }\n",
+              "\n",
+              "      [theme=dark] .colab-df-generate {\n",
+              "        background-color: #3B4455;\n",
+              "        fill: #D2E3FC;\n",
+              "      }\n",
+              "\n",
+              "      [theme=dark] .colab-df-generate:hover {\n",
+              "        background-color: #434B5C;\n",
+              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
+              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
+              "        fill: #FFFFFF;\n",
+              "      }\n",
+              "    </style>\n",
+              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('parent_df')\"\n",
+              "            title=\"Generate code using this dataframe.\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
+              "       width=\"24px\">\n",
+              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
+              "  </svg>\n",
+              "    </button>\n",
+              "    <script>\n",
+              "      (() => {\n",
+              "      const buttonEl =\n",
+              "        document.querySelector('#id_f0cfdb3b-da69-4f4b-9857-f9dafea63c32 button.colab-df-generate');\n",
+              "      buttonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "\n",
+              "      buttonEl.onclick = () => {\n",
+              "        google.colab.notebook.generateWithVariable('parent_df');\n",
+              "      }\n",
+              "      })();\n",
+              "    </script>\n",
+              "  </div>\n",
+              "\n",
+              "    </div>\n",
+              "  </div>\n"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "dataframe",
+              "variable_name": "parent_df",
+              "summary": "{\n  \"name\": \"parent_df\",\n  \"rows\": 1813,\n  \"fields\": [\n    {\n      \"column\": \"MONATSZAHL\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"Alkoholunf\\u00e4lle\",\n          \"Fluchtunf\\u00e4lle\",\n          \"Verkehrsunf\\u00e4lle\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"AUSPRAEGUNG\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"insgesamt\",\n          \"Verletzte und Get\\u00f6tete\",\n          \"mit Personensch\\u00e4den\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"JAHR\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 5,\n        \"min\": 2000,\n        \"max\": 2019,\n        \"num_unique_values\": 20,\n        \"samples\": [\n          2019,\n          2002,\n          2004\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"MONAT\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 241,\n        \"samples\": [\n          \"201812\",\n          \"201906\",\n          \"200106\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"WERT\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 4565.788307713133,\n        \"min\": 0.0,\n        \"max\": 46988.0,\n        \"num_unique_values\": 903,\n        \"samples\": [\n          74.0,\n          4074.0,\n          951.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
+            }
+          },
+          "metadata": {},
+          "execution_count": 90
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "mixK8LmRyyBx"
+      },
+      "source": [
+        "# Since its a regression task, it always helps to remove outliers from the dataset. it will just exclude values that dont lie near the rest of the data points, making the distribution even more better"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 91,
+      "metadata": {
+        "id": "jJVSlcgGzQVZ"
+      },
+      "outputs": [],
+      "source": [
+        "columns = parent_df.select_dtypes(include=[np.number]).columns\n",
+        "\n",
+        "df = parent_df.copy()\n",
+        "\n",
+        "for col in columns:\n",
+        "    z_scores = np.abs((df[col] - df[col].mean()) / df[col].std())\n",
+        "    df = df[z_scores < 3]"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 92,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "hYPXBmXfzQVa",
+        "outputId": "7686e12f-d8eb-48c2-91ae-2060e2d0bef0"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "array(['Summe', '201901', '201902', '201903', '201904', '201905',\n",
+              "       '201906', '201907', '201908', '201909', '201910', '201911',\n",
+              "       '201912', '201801', '201802', '201803', '201804', '201805',\n",
+              "       '201806', '201807', '201808', '201809', '201810', '201811',\n",
+              "       '201812', '201701', '201702', '201703', '201704', '201705',\n",
+              "       '201706', '201707', '201708', '201709', '201710', '201711',\n",
+              "       '201712', '201601', '201602', '201603', '201604', '201605',\n",
+              "       '201606', '201607', '201608', '201609', '201610', '201611',\n",
+              "       '201612', '201501', '201502', '201503', '201504', '201505',\n",
+              "       '201506', '201507', '201508', '201509', '201510', '201511',\n",
+              "       '201512', '201401', '201402', '201403', '201404', '201405',\n",
+              "       '201406', '201407', '201408', '201409', '201410', '201411',\n",
+              "       '201412', '201301', '201302', '201303', '201304', '201305',\n",
+              "       '201306', '201307', '201308', '201309', '201310', '201311',\n",
+              "       '201312', '201201', '201202', '201203', '201204', '201205',\n",
+              "       '201206', '201207', '201208', '201209', '201210', '201211',\n",
+              "       '201212', '201101', '201102', '201103', '201104', '201105',\n",
+              "       '201106', '201107', '201108', '201109', '201110', '201111',\n",
+              "       '201112', '201001', '201002', '201003', '201004', '201005',\n",
+              "       '201006', '201007', '201008', '201009', '201010', '201011',\n",
+              "       '201012', '200901', '200902', '200903', '200904', '200905',\n",
+              "       '200906', '200907', '200908', '200909', '200910', '200911',\n",
+              "       '200912', '200801', '200802', '200803', '200804', '200805',\n",
+              "       '200806', '200807', '200808', '200809', '200810', '200811',\n",
+              "       '200812', '200701', '200702', '200703', '200704', '200705',\n",
+              "       '200706', '200707', '200708', '200709', '200710', '200711',\n",
+              "       '200712', '200601', '200602', '200603', '200604', '200605',\n",
+              "       '200606', '200607', '200608', '200609', '200610', '200611',\n",
+              "       '200612', '200501', '200502', '200503', '200504', '200505',\n",
+              "       '200506', '200507', '200508', '200509', '200510', '200511',\n",
+              "       '200512', '200401', '200402', '200403', '200404', '200405',\n",
+              "       '200406', '200407', '200408', '200409', '200410', '200411',\n",
+              "       '200412', '200301', '200302', '200303', '200304', '200305',\n",
+              "       '200306', '200307', '200308', '200309', '200310', '200311',\n",
+              "       '200312', '200201', '200202', '200203', '200204', '200205',\n",
+              "       '200206', '200207', '200208', '200209', '200210', '200211',\n",
+              "       '200212', '200101', '200102', '200103', '200104', '200105',\n",
+              "       '200106', '200107', '200108', '200109', '200110', '200111',\n",
+              "       '200112', '200001', '200002', '200003', '200004', '200005',\n",
+              "       '200006', '200007', '200008', '200009', '200010', '200011',\n",
+              "       '200012'], dtype=object)"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 92
+        }
+      ],
+      "source": [
+        "df['MONAT'].unique()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Observing how values i.e 'WERT' is distributed based on different columns"
+      ],
+      "metadata": {
+        "id": "nN0BPCJfDrz-"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df['MONATSZAHL'].hist(bins=30, alpha=0.7)\n",
+        "plt.title('distribution of accident categories')\n",
+        "plt.show()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 452
+        },
+        "id": "myFIxEpkDtT5",
+        "outputId": "aa5259a4-20b1-48b4-d9a0-75b26c930d45"
+      },
+      "execution_count": 93,
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGzCAYAAAAlqLNlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIv0lEQVR4nO3de1wVdeL/8TcgHAQ9IIYgqWh2UVLzVkpq3hBUbNNYS9cUy7R11VK+2a67pYCtllvZDS+1BGa6lV2s1BQ0M1O8Z5mamVlWCnhDVBQOML8/+jE7R0C5HNLW1/Px4PFgPvOZz3xmznzOeTOXg5thGIYAAAAgSXK/3B0AAAC4khCOAAAALAhHAAAAFoQjAAAAC8IRAACABeEIAADAgnAEAABgQTgCAACwIBwBAABYEI5w2cTHx8vNzc2prGnTpho5cmSNr/uHH36Qm5ubUlNTzbKRI0eqTp06Nb7uEm5uboqPj//N1lcVW7du1e233y5fX1+5ublp586dl7tLpooeK6mpqXJzc9MPP/xQ431CxfTo0UM9evS43N0AykU4wu/eihUrrtiQcSX37VIcDocGDx6sEydOaPbs2Vq4cKFCQ0Mvd7euSHl5eYqPj9enn356Va0b+F9V63J3ALDat2+f3N0rl9lXrFihpKSkSoWQ0NBQnTt3Tp6enpXsYeVcrG/nzp1TrVpX7hA8cOCAfvzxR7366qt68MEHL3d3SqnKsVJT8vLylJCQIEm/+RmRy7nuqkpLS7vcXQAu6sp9Z8ZVyWaz1Wj7hYWFKi4ulpeXl7y9vWt0XZdyudd/KdnZ2ZIkf3//y9uRctT0sQLXy8vLk4+Pj7y8vC53V4CLujL+7ML/vM8//1y33nqrvL291bx5c82fP7/MehfeR+JwOJSQkKAbbrhB3t7eql+/vrp27ar09HRJv94nlJSUJOnXe3hKfqT/3lf0zDPP6Pnnn1fz5s1ls9m0Z8+eMu85KvH9998rKipKvr6+CgkJUWJiogzDMOd/+umncnNzK3UZ48I2L9a3krILzyh98cUX6tevn+x2u+rUqaPevXtr06ZNTnVK7qHZsGGD4uLiFBgYKF9fXw0aNEhHjx4t+wW4wCeffKJu3brJ19dX/v7+uuuuu7R3715z/siRI9W9e3dJ0uDBg+Xm5nbRsxInTpzQo48+qtatW6tOnTqy2+3q16+fvvzyy1J1z58/r/j4eN14443y9vZWw4YNdffdd+vAgQNmneLiYr3wwgtq3bq1vL29FRgYqL59+2rbtm1mnbLuOdq9e7d69eql2rVrq1GjRnryySdVXFxcZp8//vhjcx/UrVtX0dHR2r17t1OdkvvQfvnlFw0cOFB16tRRYGCgHn30URUVFUn69XUPDAyUJCUkJJiv86XOZObk5GjSpElq2rSpbDabGjVqpBEjRujYsWOSpIKCAk2dOlUdOnSQn5+ffH191a1bN61du9ZsoyLr/uabb/THP/5RAQEB8vb2VseOHfXhhx+W6s9XX32l7t27O+27lJSUMu/XmjNnjm6++WbZbDaFhIRo3LhxysnJcarTo0cPtWrVStu3b9cdd9whHx8f/f3vfzfnXXg85efna9q0abr++utls9nUuHFjPfbYY8rPz3eql56erq5du8rf31916tTRTTfdZLYLuApnjlDjdu3apcjISAUGBio+Pl6FhYWaNm2agoKCLrlsfHy8Zs6cqQcffFC33XabcnNztW3bNu3YsUN9+vTRQw89pMOHDys9PV0LFy4ss42UlBSdP39eY8aMkc1mU0BAQLkfmEVFRerbt686d+6sWbNmaeXKlZo2bZoKCwuVmJhYqe2uSN+sdu/erW7duslut+uxxx6Tp6en5s+frx49emjdunXq1KmTU/0JEyaoXr16mjZtmn744Qc9//zzGj9+vN56662Lrmf16tXq16+frrvuOsXHx+vcuXN66aWX1KVLF+3YsUNNmzbVQw89pGuvvVYzZszQww8/rFtvvfWir9f333+vpUuXavDgwWrWrJmysrI0f/58de/eXXv27FFISIikX/fvgAEDtGbNGg0ZMkSPPPKITp8+rfT0dH399ddq3ry5JGnUqFFKTU1Vv3799OCDD6qwsFDr16/Xpk2b1LFjxzL7kJmZqZ49e6qwsFB/+9vf5Ovrq1deeUW1a9cuVXfhwoWKjY1VVFSUnn76aeXl5Wnu3Lnq2rWrvvjiCzVt2tSsW1RUpKioKHXq1EnPPPOMVq9erWeffVbNmzfX2LFjFRgYqLlz52rs2LEaNGiQ7r77bklSmzZtyt1fZ86cUbdu3bR371498MADat++vY4dO6YPP/xQP//8s6655hrl5ubq3//+t4YOHarRo0fr9OnTSk5OVlRUlLZs2aK2bdtect27d+9Wly5ddO2115r75O2339bAgQP17rvvatCgQZKkX375RT179pSbm5umTJkiX19f/fvf/y7z7Fx8fLwSEhIUERGhsWPHat++fZo7d662bt2qDRs2OF2qPn78uPr166chQ4bovvvuK/cYKi4u1h/+8Ad9/vnnGjNmjFq2bKldu3Zp9uzZ+vbbb7V06VJzewYMGKA2bdooMTFRNptN3333nTZs2FDuvgaqxABq2MCBAw1vb2/jxx9/NMv27NljeHh4GBcegqGhoUZsbKw5fcsttxjR0dEXbX/cuHGl2jEMwzh48KAhybDb7UZ2dnaZ81JSUsyy2NhYQ5IxYcIEs6y4uNiIjo42vLy8jKNHjxqGYRhr1641JBlr1669ZJvl9c0wDEOSMW3aNHN64MCBhpeXl3HgwAGz7PDhw0bdunWNO+64wyxLSUkxJBkRERFGcXGxWT5p0iTDw8PDyMnJKXN9Jdq2bWs0aNDAOH78uFn25ZdfGu7u7saIESPMspLtXLJkyUXbMwzDOH/+vFFUVORUdvDgQcNmsxmJiYlm2WuvvWZIMp577rlSbZRsyyeffGJIMh5++OFy6xhG6WNl4sSJhiRj8+bNZll2drbh5+dnSDIOHjxoGIZhnD592vD39zdGjx7t1HZmZqbh5+fnVF5yTFi3wTAMo127dkaHDh3M6aNHj5Z6PS9m6tSphiTjvffeK3cbCwsLjfz8fKd5J0+eNIKCgowHHnigQuvu3bu30bp1a+P8+fNO7d9+++3GDTfcYJZNmDDBcHNzM7744guz7Pjx40ZAQIDTvsvOzja8vLyMyMhIp9f75ZdfNiQZr732mlnWvXt3Q5Ixb968Uv3q3r270b17d3N64cKFhru7u7F+/XqnevPmzTMkGRs2bDAMwzBmz55tSDLHIlBTuKyGGlVUVKRVq1Zp4MCBatKkiVnesmVLRUVFXXJ5f39/7d69W/v3769yH2JiYsxLDxUxfvx483c3NzeNHz9eBQUFWr16dZX7cClFRUVKS0vTwIEDdd1115nlDRs21J/+9Cd9/vnnys3NdVpmzJgxTpfpunXrpqKiIv3444/lrufIkSPauXOnRo4cqYCAALO8TZs26tOnj1asWFGl/ttsNvPm6KKiIh0/fty85LFjxw6z3rvvvqtrrrlGEyZMKNVGyba8++67cnNz07Rp08qtU5YVK1aoc+fOuu2228yywMBADRs2zKleenq6cnJyNHToUB07dsz88fDwUKdOnZwuW5X485//7DTdrVs3ff/99+X25VLeffdd3XLLLeaZG6uSbfTw8DDvzSkuLtaJEydUWFiojh07Ou3T8pw4cUKffPKJ7rnnHp0+fdrczuPHjysqKkr79+/XL7/8IklauXKlwsPD1bZtW3P5gICAUvtu9erVKigo0MSJE51uhh89erTsdruWL1/uVN9ms+n++++/ZF+XLFmili1bqkWLFk6vSa9evSTJfE1K7n/74IMPyj37C7gC4Qg16ujRozp37pxuuOGGUvNuuummSy6fmJionJwc3XjjjWrdurUmT56sr776qlJ9aNasWYXruru7O4UTSbrxxhslqUa/J+fo0aPKy8src5+0bNlSxcXF+umnn5zKrWFTkurVqydJOnnyZLnrKQlO5a3n2LFjOnv2bKX7X1xcrNmzZ+uGG26QzWbTNddco8DAQH311Vc6deqUWe/AgQO66aabLvqU3oEDBxQSEuIU3irixx9/rNBxVhK0e/XqpcDAQKeftLQ080b0EiX3PFnVq1fvovv5Ug4cOKBWrVpdst6CBQvUpk0b8367wMBALV++3Gmflue7776TYRh64oknSm1nSfAs2dYff/xR119/fak2Liwr7/jx8vLSddddVyqYX3vttRW6+Xr//v3avXt3qX6WjL2Sft57773q0qWLHnzwQQUFBWnIkCF6++23CUpwOe45whXtjjvu0IEDB/TBBx8oLS1N//73vzV79mzNmzevwo+Xl3XPSXWUd/ai5Abd34qHh0eZ5Ybl5vHfyowZM/TEE0/ogQce0PTp0xUQECB3d3dNnDjxivvgKunPwoULFRwcXGr+hcGtvP1c09544w2NHDlSAwcO1OTJk9WgQQN5eHho5syZTjevl6dkOx999NFyz9KWFYhcqaJjr7i4WK1bt9Zzzz1X5vzGjRub7X322Wdau3atli9frpUrV+qtt95Sr169lJaWdtleK/zvIRyhRgUGBqp27dplXhbbt29fhdoICAjQ/fffr/vvv19nzpzRHXfcofj4eDMcXexSS2UVFxfr+++/N/9ilaRvv/1WksybdEvO0Fz4dE5Zl7Mq2rfAwED5+PiUuU+++eYbubu7mx8Q1VHyJY7lreeaa66Rr69vpdt955131LNnTyUnJzuV5+Tk6JprrjGnmzdvrs2bN8vhcJT7HVPNmzfXqlWrdOLEiUqdPQoNDa3QcVZy03eDBg0UERFR4fYvprLHYPPmzfX1119ftM4777yj6667Tu+9955T+xdebixv3SVnQD09PS+5naGhofruu+9KlV9YZj1+rGdYCwoKdPDgwSrvz+bNm+vLL79U7969L7kv3d3d1bt3b/Xu3VvPPfecZsyYoX/84x9au3aty15PgMtqqFEeHh6KiorS0qVLdejQIbN87969WrVq1SWXP378uNN0nTp1dP311zs93lvyYX5hWKmql19+2fzdMAy9/PLL8vT0VO/evSX9+gHh4eGhzz77zGm5OXPmlGqron3z8PBQZGSkPvjgA6fLd1lZWVq8eLG6du0qu91exS36r4YNG6pt27ZasGCBU5++/vprpaWlqX///lVq18PDo9QZqyVLlpj3tJSIiYnRsWPHnPZxiZLlY2JiZBiG+cWGZdUpS//+/bVp0yZt2bLFLDt69KgWLVrkVC8qKkp2u10zZsyQw+Eo1U5Fvw7BysfHR1LFj8GYmBh9+eWXev/990vNK9nGkrMg1m3evHmzMjIyKrTuBg0aqEePHpo/f76OHDlSaj3W7YyKilJGRobTv4c5ceJEqX0XEREhLy8vvfjii079Sk5O1qlTpxQdHX2xzS7XPffco19++UWvvvpqqXnnzp0zL/WeOHGi1PyS+6QufOQfqA7OHKHGJSQkaOXKlerWrZv+8pe/qLCwUC+99JJuvvnmS94/FBYWph49eqhDhw4KCAjQtm3b9M477zjdNN2hQwdJ0sMPP6yoqCh5eHhoyJAhVeqrt7e3Vq5cqdjYWHXq1Ekff/yxli9frr///e/mfSd+fn4aPHiwXnrpJbm5ual58+ZatmxZqXtVKtu3J5980vwOl7/85S+qVauW5s+fr/z8fM2aNatK21OWf/3rX+rXr5/Cw8M1atQo81F+Pz+/Kv+rkwEDBigxMVH333+/br/9du3atUuLFi0qdf/WiBEj9PrrrysuLk5btmxRt27ddPbsWa1evVp/+ctfdNddd6lnz54aPny4XnzxRe3fv199+/ZVcXGx1q9fr549ezq99laPPfaYFi5cqL59++qRRx4xH+UPDQ11Os7sdrvmzp2r4cOHq3379hoyZIgCAwN16NAhLV++XF26dCkzvF1M7dq1FRYWprfeeks33nijAgIC1KpVq3LvK5o8ebLeeecdDR48WA888IA6dOigEydO6MMPP9S8efN0yy23aMCAAXrvvfc0aNAgRUdH6+DBg5o3b57CwsJ05syZCq07KSlJXbt2VevWrTV69Ghdd911ysrKUkZGhn7++Wfze6gee+wxvfHGG+rTp48mTJhgPsrfpEkTnThxwjybExgYqClTpighIUF9+/bVH/7wB+3bt09z5szRrbfeqvvuu69S+63E8OHD9fbbb+vPf/6z1q5dqy5duqioqEjffPON3n77ba1atUodO3ZUYmKiPvvsM0VHRys0NFTZ2dmaM2eOGjVqpK5du1Zp3UCZLtdjcri6rFu3zujQoYPh5eVlXHfddca8efOMadOmXfJR/ieffNK47bbbDH9/f6N27dpGixYtjH/+859GQUGBWaewsNCYMGGCERgYaLi5uZltljxa/69//atUf8p7lN/X19c4cOCAERkZafj4+BhBQUHGtGnTSj2mfvToUSMmJsbw8fEx6tWrZzz00EPG119/XarN8vpmGKUf5TcMw9ixY4cRFRVl1KlTx/Dx8TF69uxpbNy40alOyaP8W7dudSov7ysGyrJ69WqjS5cuRu3atQ273W7ceeedxp49e8psr6KP8v/f//2f0bBhQ6N27dpGly5djIyMjFKPbBuGYeTl5Rn/+Mc/jGbNmhmenp5GcHCw8cc//tHpKwwKCwuNf/3rX0aLFi0MLy8vIzAw0OjXr5+xfft2s86Fx4phGMZXX31ldO/e3fD29jauvfZaY/r06UZycrLT4+jW7YuKijL8/PwMb29vo3nz5sbIkSONbdu2mXVKjokLlXXsbty40TzGy3ptL3T8+HFj/PjxxrXXXmt4eXkZjRo1MmJjY41jx44ZhvHrI/czZswwQkNDDZvNZrRr185YtmyZERsba4SGhlZ43QcOHDBGjBhhBAcHG56ensa1115rDBgwwHjnnXec2vjiiy+Mbt26GTabzWjUqJExc+ZM48UXXzQkGZmZmU51X375ZaNFixaGp6enERQUZIwdO9Y4efKkU53u3bsbN998c5nbXtZxUVBQYDz99NPGzTffbNhsNqNevXpGhw4djISEBOPUqVOGYRjGmjVrjLvuussICQkxvLy8jJCQEGPo0KHGt99+e9F9DVSWm2Fchrs3AQBXvIkTJ2r+/Pk6c+YMNzvjqsI9RwAAnTt3zmn6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bTAGgcvvah+HbsaV/jwdAADAb4j/rQYAAGBBOAIAALAgHAEAAFgQjgAAACwuSzj69NNP5ebmppycHElSampqtb7U8cL2qsrNzU1Lly6tVhtliY+PV1BQkFP7bdu2VXx8vH744Qe5ublp586d5falvDqAq/To0UMTJ050WXvx8fFq27aty9qrLMMwNGbMGAUEBDiNHX9/f6Wmppb5nnHhOHPV+wpQVa5476+pzzVXyMvLU0xMjOx2uznWcnJy5Obmpk8//bTMbODq/FCeGn2UPyMjQ127dlXfvn21fPnymlzVFWvv3r1KSEjQ+++/r86dO6tevXqSpDVr1shms6l27do6cuSIrrnmmsvcU/yvGzlypBYsWFCqfP/+/ZehN78GsrZt2+r55593edsrV640Q9B1111njq9vv/1WdevWlYeHh44cOfK7+KZeXPnuvPNOORwOrVy5stS89evX64477tCXX36pNm3aXIbeXbkWLFig9evXa+PGjbrmmmvM8XjkyBEFBASoU6dO6t+//2XpW42Go+TkZE2YMEHJyck6fPjwFf+/VGrCgQMHJEl33XWX0/+Bq1+/vvl7Wf8yBagJffv2VUpKilNZYGDgZepNzTlw4IAaNmyo22+/3am8QYMG5u+MO7jKqFGjFBMTo59//lmNGjVympeSkqKOHTtWOhgVFBS4sosVZhiGioqKVKtWzX8N4oEDB9SyZUu1atXKqdw6NmvXrl3j/ShLjV1WO3PmjN566y2NHTtW0dHRSk1NrfCyR48eVceOHTVo0CDl5+crPz9fDz/8sBo0aCBvb2917dpVW7duLbXc9u3b1bFjR/n4+Oj222/Xvn37nObPnTtXzZs3l5eXl2666SYtXLiw3D6UdUp9586dcnNz0w8//CDpv6fzVq1apZYtW6pOnTrq27evjhw5IunXSwt33nmnJMnd3d0MRxs3blRERITq168vPz8/9ejRQzt27Kjw/pGkr7/+Wv369VOdOnUUFBSk4cOH69ixY5VqA1cfm82m4OBgpx8PD49S9co6FV9ySarEzz//rKFDhyogIEC+vr7q2LGjNm/e7LTMwoUL1bRpU/n5+WnIkCE6ffq0pF/PYq1bt04vvPCC3NzczHFV1inypUuXOv1hUXLJ7mJtT5gwQYcOHZKbm5uaNm0qSfroo4/UpUsX+fv7q379+howYID5x0tFff755+rWrZtq166txo0b6+GHH9bZs2cr1Qb+9wwYMECBgYGlPufOnDmjJUuWaNSoUZc8dpo2barp06drxIgRstvtGjNmTKn1FBUV6YEHHlCLFi106NAhSdIHH3yg9u3by9vbW9ddd50SEhJUWFjotNyxY8c0aNAg+fj46IYbbtCHH35oziv5rPv444/VoUMH2Ww2ff755/ryyy/Vs2dP1a1bV3a7XR06dNC2bdsklX3Z/PnnnzfHmvTrOBw4cKCeeeYZNWzYUPXr19e4cePkcDgk/Xrm+Nlnn9Vnn30mNzc39ejRQ9KvYbJDhw6qU6eOgoODNWzYMGVnZ1fq9ajIPrmUGgtHb7/9tlq0aKGbbrpJ9913n1577TVV5Psmf/rpJ3Xr1k2tWrXSO++8I5vNpscee0zvvvuuFixYoB07duj6669XVFSUTpw44bTsP/7xDz377LPatm2batWqpQceeMCc9/777+uRRx7R//3f/+nrr7/WQw89pPvvv19r166t1nbm5eXpmWee0cKFC/XZZ5/p0KFDevTRRyVJjz76qPlX+pEjR8zQdObMGT3wwAPauHGjMjIydP3116t///7mm/ul5OTkqFevXmrXrp22bdumlStXKisrS/fcc0+1tgWoqDNnzqh79+765Zdf9OGHH+rLL7/UY489puLiYrPOgQMHtHTpUi1btkzLli3TunXr9NRTT0mSXnjhBYWHh2v06NHm2GjcuHGF13+pthMTE9WoUSMdOXLE/EMqLy9PkydP1rZt27R69Wq5u7tr0KBBTn2+1Dr79u2rmJgYffXVV3rrrbf0+eefa/z48RXuN/431apVSyNGjFBqaqrT59ySJUtUVFSk8PDwCh07zzzzjG655RZ98cUXeuKJJ5zm5efna/Dgwdq5c6fWr1+vJk2aaP369RoxYoQeeeQR7dmzR/Pnz1dqaqr++c9/Oi2bkJCge+65R1999ZX69++vYcOGlfr8/Nvf/qannnpKe/fuVZs2bTRs2DA1atRIW7du1fbt2/W3v/1Nnp6eldova9eu1YEDB7R27VotWLBAqampZoB87733NHr0aIWHh+vIkSN67733JEkOh0MzZszQV199pffff18HDx7UyJEjK7zOiu6TSzJqyO233248//zzhmEYhsPhMK655hpj7dq1hmEYxtq1aw1JxsmTJw3DMIyUlBTDz8/P+Oabb4zGjRsbDz/8sFFcXGwYhmGcOXPG8PT0NBYtWmS2XVBQYISEhBizZs1yam/16tVmneXLlxuSjHPnzpn9GT16tFMfBw8ebPTv39+clmS8//77ZfbRMAzjiy++MCQZBw8eNPstyfjuu+/MOklJSUZQUJA5/f777xuX2s1FRUVG3bp1jY8++qjMvhw8eNCQZHzxxReGYRjG9OnTjcjISKc2fvrpJ0OSsW/fvouuC1ev2NhYw8PDw/D19TV//vjHPxqGYRjdu3c3HnnkEbOu9fgr4efnZ6SkpBiGYRjz58836tataxw/frzMdU2bNs3w8fExcnNzzbLJkycbnTp1MqcvXKdh/Pe9wOrCMVSRtmfPnm2EhoaWtysMwzCMo0ePGpKMXbt2GYZRepxd+B4watQoY8yYMU5trF+/3nB3dzffZ3D12rt3ryHJ/JwzDMPo1q2bcd9991Xo2AkNDTUGDhzoVKfkmFy/fr3Ru3dvo2vXrkZOTo45v3fv3saMGTOcllm4cKHRsGFDc1qS8fjjj5vTZ86cMSQZH3/8sWEY/z3Oly5d6tRO3bp1jdTU1DK3ddq0acYtt9ziVHbhmIuNjTVCQ0ONwsJCs2zw4MHGvffea04/8sgjRvfu3ctcR4mtW7cakozTp0879ffC/FCiIvukImrkzNG+ffu0ZcsWDR06VNKvqfree+9VcnJyucucO3dO3bp10913322eapd+/WvN4XCoS5cuZl1PT0/ddttt2rt3r1Mb1mu6DRs2lCTzdNzevXud2pCkLl26lGqjsnx8fNS8eXOn9V7qFGBWVpZGjx6tG264QX5+frLb7Tpz5ox5mvRSvvzyS61du1Z16tQxf1q0aCFJlb5MgKtLz549tXPnTvPnxRdfrFI7O3fuVLt27RQQEFBunaZNm6pu3brmdEXGRkVVpe39+/dr6NChuu6662S3281LAJUZd6mpqU7jLioqSsXFxTp48GCVtwX/G1q0aKHbb79dr732miTpu+++0/r16zVq1KgKHzsdO3Yss+2hQ4fq7NmzSktLc3qI4Msvv1RiYqJTuyVnY/Py8sx61s9GX19f2e32UuPlwnXHxcXpwQcfVEREhJ566qkqfbbcfPPNTpftKzJOt2/frjvvvFNNmjRR3bp11b17d0mVG6cV2SeXUiN3XCUnJ6uwsNDpBmzDMGSz2fTyyy+XuYzNZlNERISWLVumyZMn69prr630eq2n/ErCVUVPmV/I3f3X3GhYTpGWXCstb50l6zUucfkwNjZWx48f1wsvvKDQ0FDZbDaFh4dX+Aa8M2fO6M4779TTTz9dal5JKATK4uvrq+uvv/6S9co6jq3Hf0VukixrbFxqPLq7u190vdVp+84771RoaKheffVVhYSEqLi4WK1atarUuHvooYf08MMPl5rXpEmTCrWB/22jRo3ShAkTlJSUpJSUFDVv3lzdu3ev8LHj6+tbZrv9+/fXG2+8oYyMDPXq1cssP3PmjBISEnT33XeXWsbb29v8vSLj5cJ1x8fH609/+pOWL1+ujz/+WNOmTdObb76pQYMG1dg4PXv2rKKiohQVFaVFixYpMDBQhw4dUlRUVKXGaUX2yaW4PBwVFhbq9ddf17PPPqvIyEineQMHDtR//vMf8yyHlbu7uxYuXKg//elP6tmzpz799FOFhISYN1Bv2LBBoaGhkn59EbZu3Vqp72Vp2bKlNmzYoNjYWLNsw4YNCgsLK7N+yRM8R44cMR+/d9X3DG3YsEFz5swxH1H86aefKnUzdfv27fXuu++qadOmv8kTBbj6BAYGmvfISb+edbnwL9F///vfOnHixEXPHl2Ml5eXioqKSq339OnTOnv2rPlm7Ypxd/z4ce3bt0+vvvqqunXrJunXm6sro3379tqzZ0+FwiWuTvfcc48eeeQRLV68WK+//rrGjh0rNze3ah87Y8eOVatWrfSHP/xBy5cvN8+mtG/fXvv27auxY/LGG2/UjTfeqEmTJmno0KFKSUnRoEGDFBgYqMzMTBmGYZ6IcMU4/eabb3T8+HE99dRT5j2IJTeBV5Sr9onLL6stW7ZMJ0+e1KhRo9SqVSunn5iYmIteWvPw8NCiRYt0yy23qFevXsrMzJSvr6/Gjh2ryZMna+XKldqzZ49Gjx6tvLw8jRo1qsL9mjx5slJTUzV37lzt379fzz33nN577z3z5ukLXX/99WrcuLHi4+O1f/9+LV++XM8++2yl90dZbrjhBi1cuFB79+7V5s2bNWzYsEo9rjhu3DidOHFCQ4cO1datW3XgwAGtWrVK999/f6kPG6AqevXqpZdffllffPGFtm3bpj//+c9OfwUOHTpUwcHBGjhwoDZs2KDvv/9e7777rjIyMiq8jqZNm2rz5s364YcfdOzYMRUXF6tTp07y8fHR3//+dx04cECLFy+u1JOu5alXr57q16+vV155Rd99950++eQTxcXFVaqNv/71r9q4caPGjx+vnTt3av/+/frggw+4IRumOnXq6N5779WUKVN05MgR80ZiVxw7EyZM0JNPPqkBAwaYwX7q1Kl6/fXXlZCQoN27d2vv3r1688039fjjj1drO86dO6fx48fr008/1Y8//qgNGzZo69atatmypaRfnzQ7evSoZs2apQMHDigpKUkff/xxtdYp/XoWzcvLSy+99JK+//57ffjhh5o+fXql2nDVPnF5OEpOTlZERESZX64WExOjbdu26auvvip3+Vq1auk///mPbr75ZvXq1UvZ2dl66qmnFBMTo+HDh6t9+/b67rvvtGrVKvOMTkUMHDhQL7zwgp555hndfPPNmj9/vlJSUszHBy/k6emp//znP/rmm2/Upk0bPf3003ryyScrvL6LSU5O1smTJ9W+fXsNHz7c/JqCigoJCdGGDRtUVFSkyMhItW7dWhMnTpS/v795ORCojmeffVaNGzdWt27d9Kc//UmPPvqofHx8zPleXl5KS0tTgwYN1L9/f7Vu3VpPPfVUmV8LUJ5HH31UHh4eCgsLM0+fBwQE6I033tCKFSvUunVr/ec//1F8fHy1t8fd3V1vvvmmtm/frlatWmnSpEn617/+Vak22rRpo3Xr1unbb79Vt27d1K5dO02dOvWq/P42lG/UqFE6efKkoqKizGPDVcfOxIkTlZCQoP79+2vjxo2KiorSsmXLlJaWpltvvVWdO3fW7NmzzassVeXh4aHjx49rxIgRuvHGG3XPPfeoX79+SkhIkPTrlZg5c+YoKSlJt9xyi7Zs2VLuiYbKKPk6hCVLligsLExPPfWUnnnmmUq14ap94mZc6gYZAACAqwinGQAAACwIRwAAABaEIwAAAAvCEQAAgAXhCAAAwIJwBAAAYEE4AgAAsCAcAQAAWBCOAAAALAhHAAAAFoQjAAAAi/8HSbWohTE9QT4AAAAASUVORK5CYII=\n"
+          },
+          "metadata": {}
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df['AUSPRAEGUNG'].hist(bins=30, alpha=0.7)\n",
+        "plt.show()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 430
+        },
+        "id": "qI8yKHJgDw6p",
+        "outputId": "c364e179-1c6e-49fe-cb1c-3a7e4addc341"
+      },
+      "execution_count": 94,
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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s3v3bjNs2DDTuXNnU1lZacrKysycOXOMw+Ewhw8fNocPHzbHjh376X4BsMXEiRNN+/btPV7UX3jhBdOsWTNTXFxs9u3bZ4KDg83s2bPNnj17zIcffmi6d+9uRo4caZWvOpE9+eSTZt++fWbfvn3VAtd3331nWrVqZbKyssyuXbvM1q1bTWJiorn++uuNMcYUFxcbp9NpRo0aZR1fFRUVpri42Fo+fPiwGTdunImIiDCHDx823377rWndurWZNm2atd0Yc159PtP5Bi6Hw2GmTJli9uzZY1588UXj4+NjcnNzjTE/nBSvuOIKM3DgQLNt2zazevVq07179x8NXN98843x8fExM2bMOK/fV0JCgrnpppvMpk2bzJ49e8x//dd/mZYtW5pvv/3WnDhxwvzXf/2Xufzyy62fx4kTJ8ypU6dMt27dTL9+/czmzZvN+vXrTc+ePa2xna1eXfd3rno4t/79+5vmzZub6dOnmz179pjp06ebJk2amMGDB5vnnnvOOme3bNnSHD9+3BjjGbhqc76uKXDNmjXLSDIlJSXm5ZdfNtHR0eb11183n3/+uXn99ddNeHi4WbhwoTHmP4Grbdu2VplDhw6ZIUOGmMTERPPJJ5+Y/fv3m3feecesXr3aGGPMV199ZYKCgsy9995rdu3aZd58801zySWXeASqc803Y859nD3yyCMmJCTE3HrrrWb79u1mzZo1Jioqyvz5z382xhhz6NAh07RpUzNr1ixz4MAB88knn5js7GzrZ/XMM8+YwMBAM2fOHLN7926zceNGM3v2bGv/kkzr1q3NokWLzN69e819991nQkJCrP2XlpaaKVOmmE2bNpnPP//cvPzyyyYoKMi89tprVhtPPPGEadGihXn99dfNzp07TXp6umnevLnH+ejRRx81nTp1MsuWLTP79+83OTk5JiAgwKxatcrjd9+7d2+zatUqs2PHDnPttdeaa6655ryON2s8tSptozMD129/+1trW2VlpYmIiLCuCIwdO9YMGDDA40WsynvvvWeaNm1qvTgYY6pd4frf//1f07FjR4/6ZWVlplmzZmb58uXm22+/NZKsH/b5uPzyy828efOs5TPHcPjwYSPJPPzww9a6/Px8I8nqa00TExe3Xbt2WVeMqlx77bXWsZGenm7uuecejzpr1641vr6+5vvvvzfG/HAsDRs2zKPMmYFr+vTpJikpyaPMwYMHjSSze/duY4znHKvJ66+/bgIDA80HH3xgrYuLi/M4AZ5vn890voGrX79+HmWuuuoq8+CDDxpjjFm+fLlp2rSp+fe//21tf++99340cK1fv95IMm+88YbH+pYtW5rg4GATHBxsHnjgAWsMDofDnDx50qNs+/btrSvsVX/Rny43N9c0adLEFBQUWOt27NhhJJmNGzeetV5d93c+9fDjzjzWKioqTHBwsBkxYoS1ruqcnZ+fb4zxDFzGnP/5+sxye/bsMR06dDC9evUyxvzwe6u6YFBl+vTpxul0GmP+M9fPvHLTpUsXM2XKlBr3+ec//7naa1x2drYJCQkxp06dqvFnYIznfDvf4zMoKMjjitbEiRNN7969jTHGbNmyxUiy3h06U0xMjHnooYdq3GbMD4Fr0qRJ1nJpaamRZN57772z1snIyDApKSnWcnR0tJk5c6a17Ha7TevWra3z0cmTJ01QUJBZt26dRzvp6enmzjvvNMZ4XuGq8u677xpJZz3n1aTB3MN1ptPvbfHx8VFUVJR1k+HIkSOVmJiojh07atCgQbrxxhuVlJQkSdq9e7diY2M93mu/+uqrPdr++OOPtW/fPjVv3txj/cmTJ7V//34lJSVp5MiRSk5OVmJiohISEnT77bcrOjpaklRaWqopU6bo3Xff1eHDh1VRUaHvv/9eBQUFZx1D1VcWdenSpdq6oqKiOt8bgIatU6dOuuaaa/TCCy/ouuuu0759+7R27VpNmzZN0g/H4ieffKJXXnnFqmOMUWVlpQ4cOKDOnTtLknr16vWj+/n444/1/vvvKyQkpNq2/fv3q0OHDj9a/6OPPtKIESP09NNPq2/fvufc1/n0uS7OvKctOjramve7du1SbGysYmJirO11/bL7jRs3qrKyUqmpqSorK5P0w7hKS0vVsmVLj7Lff/+99u/ff9a2qvoVGxtrrYuPj1dYWJh27dqlq666qsZ6dd1fXevB0+nHWpMmTdSyZcuznp8v1NGjRxUSEqLKykqdPHlS/fr10//8z//o+PHj2r9/v9LT0zVq1CirfEVFhXVzfpUzzwH33XefRo8erdzcXCUkJCglJcUa065du+R0OuXj42OV79u3r0pLS/XVV1+pTZs21X4Gkud8O9/jrG3bth6vpae3ceWVV2rgwIHq0qWLkpOTlZSUpF//+tdq0aKFioqKdOjQIQ0cOPBHf3an9zE4OFgOh8Pjd5Kdna0XXnhBBQUF+v7771VeXm49aHL06FEdPnxYvXv3tso3bdpUvXr1kvm/L9nZt2+fTpw4ocTERI/9lpeXq3v37mftS1UeKCoqsn6e59JgA9eZNwT6+PiosrJSktSjRw8dOHBA7733nlasWKHbb79dCQkJ+uc//3lebZeWlqpnz54eLxhVWrVqJemHm5rvu+8+LVu2TK+99pomTZqkvLw89enTR/fff7/y8vL05JNP6tJLL1WzZs3061//utrNzKePoerAr2ld1bjw85Senq6xY8cqOztbOTk5at++vfr37y/ph2PxD3/4g+67775q9U6fxMHBwT+6j9LSUt1000164oknqm2rOjGcjcvl0s0336zf//73Sk9PP+d4zrfPp/P19bVOcFXcbne1cj827+vi0ksvlY+Pj3bv3u2x/pe//KUkz5vbS0tLFR0drVWrVlVrx46nh+u6v5+6nz9XNR1rdp2fmzdvrq1bt8rX11fR0dHWcVdYWChJev755z1CgfRDCDzdmeeA3//+90pOTta7776r3NxczZgxQ0899ZTGjh173v36sfl2vsfZj7XRpEkT5eXlad26dcrNzdW8efP00EMPacOGDbrkkksuuI+vvvqq7r//fj311FNyOp1q3ry5/vrXv2rDhg3n1XbVOCXp3Xff1S9+8QuPbWd+j+SFHh8NNnCdi8Ph0B133KE77rhDv/71rzVo0CAdOXJEHTt21MGDB1VYWGj9hVL1yGiVHj166LXXXlNERIQcDsdZ99G9e3d1795dWVlZcjqdWrRokfr06aMPP/xQI0eO1C233CLph1/YF198ccFj8vf316lTpy64HTQst99+u8aNG6dFixbppZde0ujRo63J2qNHD+3cuVOXXnrpBe2jR48eev3119W2bVs1bVrztK7p+Dp58qSGDh2qTp06adasWedVpy59btWqlT799FOPddu2bavVk1adO3fWwYMHdfjwYStErl+//kfrtGzZUomJiXr66ac1duzYHw2uPXr0kMvlUtOmTa3P9TlTTT+Pqn4dPHjQusq1c+dOFRcXKz4+/qz16rq/86kH+9XmfO3r61vjfImMjFRMTIw+//xzpaam1roPsbGx+uMf/6g//vGPysrK0vPPP6+xY8eqc+fOev3112WMsc41H374oZo3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\n"
+          },
+          "metadata": {}
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# i observed that values are distributed almost uniformly for col JAHR but for column MONAT its a different case"
+      ],
+      "metadata": {
+        "id": "KDJVmnwkD3RV"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df['JAHR'].value_counts()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 743
+        },
+        "id": "vbmMkR5pD2i6",
+        "outputId": "65e87d35-7952-44aa-80e2-67568eecb6cf"
+      },
+      "execution_count": 95,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "JAHR\n",
+              "2019    90\n",
+              "2018    90\n",
+              "2001    90\n",
+              "2002    90\n",
+              "2003    90\n",
+              "2004    90\n",
+              "2005    90\n",
+              "2006    90\n",
+              "2007    90\n",
+              "2008    90\n",
+              "2009    90\n",
+              "2010    90\n",
+              "2011    90\n",
+              "2012    90\n",
+              "2013    90\n",
+              "2014    90\n",
+              "2015    90\n",
+              "2016    90\n",
+              "2017    90\n",
+              "2000    84\n",
+              "Name: count, dtype: int64"
+            ],
+            "text/html": [
+              "<div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>count</th>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR</th>\n",
+              "      <th></th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>2019</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2018</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2001</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2002</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2003</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2004</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2005</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2006</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2007</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2008</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2009</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2010</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2011</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2012</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2013</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2014</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2015</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2016</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2017</th>\n",
+              "      <td>90</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2000</th>\n",
+              "      <td>84</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div><br><label><b>dtype:</b> int64</label>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 95
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df['MONAT'].value_counts()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 490
+        },
+        "id": "cJyIFAQ1D6iU",
+        "outputId": "c443171e-8f63-4b30-e756-b773706c23fb"
+      },
+      "execution_count": 96,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "MONAT\n",
+              "Summe     114\n",
+              "200901      7\n",
+              "200709      7\n",
+              "200710      7\n",
+              "200711      7\n",
+              "         ... \n",
+              "201201      7\n",
+              "201202      7\n",
+              "201203      7\n",
+              "201204      7\n",
+              "200012      7\n",
+              "Name: count, Length: 241, dtype: int64"
+            ],
+            "text/html": [
+              "<div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>count</th>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT</th>\n",
+              "      <th></th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>Summe</th>\n",
+              "      <td>114</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>200901</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>200709</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>200710</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>200711</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>...</th>\n",
+              "      <td>...</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>201201</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>201202</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>201203</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>201204</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>200012</th>\n",
+              "      <td>7</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "<p>241 rows × 1 columns</p>\n",
+              "</div><br><label><b>dtype:</b> int64</label>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 96
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Since MONAT includes values like '200703' i.e contains year+month values. We can probly remove the year since we already have that feature in 'JAHR' column. Ill just slice to extract the month values"
+      ],
+      "metadata": {
+        "id": "1kjnie9KDgJw"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "def convert_date(data, column_name='MONAT', special_value='Summe'):\n",
+        "\n",
+        "    day_mapping = {\n",
+        "          '01': 'January',\n",
+        "          '02': 'February',\n",
+        "          '03': 'March',\n",
+        "          '04': 'April',\n",
+        "          '05': 'May',\n",
+        "          '06': 'June',\n",
+        "          '07': 'July',\n",
+        "          '08': 'August',\n",
+        "          '09': 'September',\n",
+        "          '10': 'October',\n",
+        "          '11': 'November',\n",
+        "          '12': 'December'\n",
+        "    }\n",
+        "\n",
+        "    data_copy = data.copy()\n",
+        "    data_copy[column_name] = data_copy[column_name].apply(lambda x: day_mapping[x[4:]] if x != special_value else x)\n",
+        "\n",
+        "    return data_copy\n",
+        "\n",
+        "df = convert_date(df, 'MONAT')"
+      ],
+      "metadata": {
+        "id": "Jvv6y70NzDYB"
+      },
+      "execution_count": 97,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df['MONAT'].unique()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "1zsJV0d5D96Y",
+        "outputId": "c63ae632-16de-4eb3-ee2d-2a1c7ac4ecf6"
+      },
+      "execution_count": 98,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "array(['Summe', 'January', 'February', 'March', 'April', 'May', 'June',\n",
+              "       'July', 'August', 'September', 'October', 'November', 'December'],\n",
+              "      dtype=object)"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 98
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df['MONAT'].value_counts()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 523
+        },
+        "id": "EEWdkVDQBFG4",
+        "outputId": "5c965b3c-fa8e-4e60-df43-dab476a49a11"
+      },
+      "execution_count": 99,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "MONAT\n",
+              "January      140\n",
+              "February     140\n",
+              "March        140\n",
+              "April        140\n",
+              "May          140\n",
+              "June         140\n",
+              "July         140\n",
+              "August       140\n",
+              "September    140\n",
+              "October      140\n",
+              "November     140\n",
+              "December     140\n",
+              "Summe        114\n",
+              "Name: count, dtype: int64"
+            ],
+            "text/html": [
+              "<div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>count</th>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT</th>\n",
+              "      <th></th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>January</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>February</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>March</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>April</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>May</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>June</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>July</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>August</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>September</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>October</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>November</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>December</th>\n",
+              "      <td>140</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>Summe</th>\n",
+              "      <td>114</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div><br><label><b>dtype:</b> int64</label>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 99
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# The distribution now seems better for MONAT column"
+      ],
+      "metadata": {
+        "id": "PMO4-WmDEBUx"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "plt.figure(figsize=(8,6))\n",
+        "plt.hist(df['MONAT'], bins=13, edgecolor='black')\n",
+        "plt.show()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 522
+        },
+        "id": "cg7JP1E-EC0M",
+        "outputId": "463de13f-cedb-4718-d20d-fb2d49fb8535"
+      },
+      "execution_count": 100,
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 800x600 with 1 Axes>"
+            ],
+            "image/png": "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U5cuXRQcHKwbb7xR06ZNcxt+9OhR9erVSzfccINCQ0PVrFmzPPf9N954Q+XLl1dAQECu7fBnrouwGhISopCQEC1atEiZmZlX1daYMWP0yiuv6N///rdzYJg8ebLmz5+vTz75RJ9//rlefvllt2nmzp2rkiVLav369RowYID69u2rTp06qVGjRtq8ebPuuusude3a1Qm5R48eVbNmzVS7dm21adNGjRo10v79+/XUU09p8ODB2rhxo5YvXy4vLy916NAh11cE//jHP/TEE09oy5Ytuummm9SlS5d8fbI6duyYunXrpm+++UZr165V5cqV1bp1ax07dizXuujQoYO+++479ezZU5UqVdKePXvcxpk9e7Zq1qypYcOG6bHHHtOPP/6o1157TXPmzNH48ePdxh05cqQ6duyorVu3KjExUQ888IC2b9/uNs6TTz6pxx57TNu3b1dCQkKBLk+PHj1yHbT37NmjChUquH24mDVrVq7/rnb8+PHL2lYXLs/06dPVr18/9enTR999950+/vhjVapUyW2asWPHqnPnztq2bZtat26txMTEy7qSkZf33ntPVatWVZUqVfTXv/5Vs2bN0oU/rTxkyBC98MIL2rBhg2644Qa1bdvW7arIiRMnNHHiRL3xxhv64YcfVKpUqSuq5WpcuK2uZJv06tVL8+fPdztG/POf/9SNN96oZs2aXZsFuYiLbffzjxkbN25UUlKS9u/fr86dOxdy1X+uINb35ezPFzNv3jyNHz9eEydO1KZNmxQbG6vp06df9vQhISEKCgrSlClTNHLkSO3YsUNJSUm64447JJ27PSYsLEyxsbFaunSpVq9erYYNG6p58+Zu7+Fdu3bpvffe0+LFi5WUlKRvv/1Wjz76qCTpiSeeUOfOnd2+xWrUqJGysrKUkJCgYsWK6euvv9bq1asVEhKili1bul2hWrFihfbu3atVq1bpxRdf1OjRo9WmTRuVKFFC69at0yOPPKKHH35Yv//+u9uyDRkyRI8//ri+/PJLZWRkKC0tLdc5q2HDhurUqZN8fX2VkpKiOnXqaMGCBZo6darq1aun06dPKygoSKtXr9bUqVMlSTt27NC+ffs0ZcoUSdLQoUP14Ycfau7cudq8ebMqVaqkhISEXMe4vI5L2dnZ8vb21sCBA7VgwQI1b95c27Zt0xNPPCFJ6t+/vzZt2qTOnTsrKChIAQEBatOmjVwul26++WZJUmJiotavX+/2QfaHH37Qtm3b9OCDDzr7yahRozR+/Hht375dzzzzjEaOHKm5c+e61Th69GiNGDFCmzdvlo+Pjx588EENHTpUU6ZM0ddff61du3Zp1KhRbtMsX75c27dv18qVK7VgwQKtW7dOpUqVcj6M169fX//5z380efJkffHFF2rcuLGGDBmixYsXS5JzcSotLU0zZ87U4sWL1aRJE6f9/v37a82aNXrnnXe0bds2derUSS1bttTOnTudcU6cOKGpU6fqnXfeUVJSklauXKkOHTro008/1aeffqq3335br732mtsFJUl67rnnVLNmTX377bfOuW3ZsmXO8E6dOjkX+DZt2qQ6derkue9/+OGHWrhwYf7ukzbXiQ8++MCUKFHCBAQEmEaNGpnhw4ebrVu3GmOM2b17t5Fkvv32W2f8I0eOGEnmyy+/NMYY8+WXXxpJ5osvvnDGmTBhgpFkfv75Z6ffww8/bBISEpzuO++80zRu3NjpPnPmjAkODjZdu3Z1+u3bt89IMmvWrDHGGPPUU0+Zu+66yxhjTLdu3Uy7du1McnKykWR27NjhTHfgwAEjyXz33Xduy/HGG2844/zwww9Gktm+fbsxxpjRo0ebmjVruq2bl156yZQtW/ZP193Zs2dNsWLFzOLFi51+ksygQYPcxuvUqZORZAIDA01wcLAJDg42fn5+5uabbzbPPPOM27hvv/22KV26tFt7jzzyiNs4DRo0MH379nVbtsmTJ7uNU5DL88cffxhvb2+zbt06Y4wxXbt2NX5+fmbq1KnG39/f/Prrr+bXX381AQEB5sCBA6Zdu3amW7duec7zz7bVhcsTHR1t/vGPf/xp7ZLMiBEjnO6MjAwjySxduvRPp7mYRo0aOTVkZWWZkiVL5trn33nnHWf8Q4cOmcDAQPPuu+8aY4yZPXu2kWS2bNni1m7OfpvjzjvvNI899tgV1XgxOfNJTU296m1y8uRJU6JECWfZjDGmRo0aZsyYMQVWtzHGlC1b1rz00ktuw2vWrGlGjx7tdF9qu59/zMiR1zHD065kOT766CNjTMGs74vtz7NnzzZhYWFu43/00Ufm/NNcgwYNTL9+/dzGuf32292OMXnty+fvZ0888YSRlOe55uuvvzbe3t655lGxYkXz2muvGWPOHdO8vb3N77//7gxf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GYX5m3J16tTRhx9+qHLlyik0NFTZ2dkqUaKEfvnlF82ZM8d583/zzTf5bvuGG25QSkqKjDHOm+fCZV29erVeffVVtW7dWtK5K4qX+6BGZGSkkpOTNX36dCUlJWnVqlX68ccftWPHjlz3Xl5o7dq1euihh9y6z39ApjCWp3Xr1goODtb06dP1xx9/qHHjxpLk3Afmcrly3Tt76NAh7dixQzNnzszXtipWrJjKlSun5cuXu90QXxDOnDmjt956Sy+88ILzoEOO9u3ba8GCBc6VubVr1zpP1R85ckQ//fSTqlWrVqD1XQlPbJNbb71VdevW1cyZMzV//vx8hfYrdcMNN2jfvn1Od3p6unbv3p2vNs4/Zvj4FM5h+0qWw1Pr+3L257Jly+rYsWM6fvy4c0K88FhRpUoVbdiwwe04dOHDPRcu59mzZ/X999+7vWd9fHwUHx+v+Ph4jR49WqGhoTLGqE6dOsrKypIx5qLHwz179mjv3r1O8F67dq28vLxUpUoVSee+zbjw4ZY6dero3XffValSpRQaGnqpVZZva9eu1R133KGIiAjFx8drxYoVztXGnP0vICBAixcv1kMPPaSEhARlZ2dr48aNio+Pz9Wen5+fJLktR8WKFeXn56fVq1c7H1qysrK0YcOGXA+15XVcqlevnlPPjz/+qJdfflm1atVSnTp1JJ0L2jfffHOun6xcvXq1brrpJifAlSlTRnfeeafmzZunkydPqkWLFs69+JGRkYqOjtYvv/ziLL8nbd26VSdPnnQuXuR8+/vggw+qZMmSevXVV7V///4/nXeFChX+NL/Url1bZ8+eVWpqqtuHCE9Zu3Ztru6cc0WdOnWcB67PfwDaU66LsHro0CF16tRJPXr0UI0aNVSsWDFt3LhRkyZNUrt27RQYGKiGDRvq2WefVfny5ZWamprrU++11K9fP82cOVNdunTRyZMnlZmZqfXr18vf31+vvfaaSpcurT179jhft+RHkyZNdODAAU2aNEn33XefkpKStHTpUreDW+XKlfX222+rbt26Sk9P15AhQy77ql/OU53Dhw9X5cqVFRcXp1GjRqlNmzaKjY3VfffdJy8vL23dulXff/+9nn76aWfa999/X3Xr1lXjxo01b948rV+//pJf4RX08nh7ezvLExoaqvDwcKd/ztcbF35CLVGihCIiIvT666/ne1uNGTNGjzzyiEqVKqVWrVrp2LFjWr16tQYMGHBZ01+uJUuW6MiRI+rZs6fCwsLchnXs2FFvvvmmnnvuOUnSuHHjFBERocjISP3jH/9QyZIlC/03HvPiqW3Sq1cv9e/fX8HBwerQoUOB192sWTPNmTNHbdu2VfHixTVq1Khc9V/K+ceMoUOHKjw8XLt27dI777yjN954I9/tXYkrXQ5PrO/L2Z8/++wzBQUF6f/+7/80cOBArVu3LtdtYAMGDFDv3r1Vt25dNWrUSO+++662bdvmdqtXs2bNNHjwYH3yySeqWLGiXnzxRefr50OHDqlZs2aqUaOG2rZtq+joaM2dO1fZ2dlOeC1VqpTef/99NW/eXLfccotOnDihpUuXqkOHDs5XtwEBAerWrZuef/55paena+DAgercubNzNa1cuXL67LPPtGPHDkVERCgsLEyJiYl67rnn1K5dO40bN05lypTRb7/9poULF2ro0KEqU6bMFa3bHNOmTVPlypVVrVo1hYeH6+zZs1qyZIn+8pe/qH379po2bZqqV6+uiIgI9erVSzt27FDFihXVo0cPTZ06VSdPntTvv/+u9957T507d1bZsmXlcrm0ZMkStW7dWoGBgQoJCVHfvn2dXyaIjY3VpEmTdOLECfXs2dOtnryOS7GxsUpPT9ewYcPUsGFDvfbaa2rVqpXz8Fb//v31+OOPq169eipWrJhSU1M1d+5cvfLKK25P80vnbgUYPXq0Tp8+rZdeeslt2NixYzVw4ECFhYWpZcuWyszM1MaNG3XkyBENHjz4itdxdna2Tp06pS5duuivf/2rFi9erLffflsVK1ZU9+7d5eXlpZiYGA0dOlT79u1TmzZt9Msvv+idd95RXFycxowZo27dumnLli2aMGGCunfvrjNnzujTTz/VsGHDdNNNNykxMVEPPfSQXnjhBdWuXVsHDhzQ8uXLVaNGjav+beLVq1dr0qRJat++vZYtW6b3339fn3zyiaRzv9IQFxen9u3ba9KkSbrpppu0d+9effLJJ277/hXL912uFjp16pR58sknTZ06dUxYWJgJCgoyVapUMSNGjDAnTpwwxhjz448/mri4OBMYGGhq1aplPv/88zwfsDr/ZvC8bti/8IGfvG7Gz+tBBJ334IExxvz000+mQ4cOxtfX13h5eZmqVauae++911SrVs34+/ubGjVqmJUrV7pNdzkPihlz7obtmJgYExwcbB566CEzfvx4tweSNm/ebOrWrWsCAgJM5cqVzfvvv5+r5gvrNea/N/3//PPPRpJzQ7wxxiQlJZlGjRqZwMBAExoaaurXr29ef/11t/amTZtmWrRoYfz9/U25cuXcHrzIa9kKenly5CzPbbfdluuhhvOd/5DFsmXL8r2tcsyYMcNUqVLF+Pr6mtKlS5sBAwZctM6wsDDnIYbL1aZNG9O6des8h61bt85IMlOmTDGSzOLFi0316tWNn5+fqV+/vvOwiDF5vweMufYPWP2Z/GyTHMeOHTNBQUHm0Ucf9Xi9Obp27Wo6duxojDEmLS3N3H///SY0NNTExMSYOXPmXPTBpBwXbvecY0bx4sVNYGCgqVq1qhk0aJDbAzc2Locn1vfl7M9bt241H330kalUqZIJDAw0bdq0Ma+//rq58DQ3btw4U7JkSRMSEmJ69OhhBg4caBo2bOgMP336tOnbt68JDw83pUqVMhMmTHD2s1OnTpnExEQTEhJiXC6XkWT8/f3Nvffe65xrNm3aZKKioowkI8lER0ebxMREs2fPHmPMf88hr776qomOjjYBAQHmvvvuM4cPH3ZqSE1NNS1atDAhISFux/d9+/aZhx56yJQsWdL4+/ubChUqmN69e5u0tDRjTN7vl0udo3KOVfPnzzf169d3HpqdP3++6datm4mMjHSOVRUqVDChoaHO/te/f38zaNAgU7p0aeNyuUxYWJiZNWuW27qOiooyLpfLeZ+ePHnSDBgwwFmG22+/3axfv96ZJudcnNdx6fzlW79+vWnRooUJCgpy1vX48eONMeceuPb19TXe3t4mNjbWPPfcc7n2myNHjhh/f/9cDxblmDdvnqlVq5bx8/MzJUqUMHfccYdZuHCh2zo7//h+qQzRrVs3p04vLy/jcrmMt7e3ueOOO5x9x5hz77O//OUvxsfHxxm3dOnS5v3333ebz6233mr8/PxMyZIlzb333utMf/r0aTNq1ChTrlw5Z7t16NDBbNu2LVdNOfJ6kPnCfals2bJm7NixplOnTiYoKMhERUWZKVOmuE2Tnp5uBgwYYKKjo42vr6+JiYnJc9+/Ei5j8vG7H/C4li1bqlKlStfk60hP+frrr9W8eXMlJyc7N5UXZdfb8lyulStXqmnTpjpy5Mg1+4F/G/z666+qWLGiNmzY4Hx96GlF8X2dF08sx7VY31ejRYsWioqK0ttvv31N5jdmzBgtWrTImn9vChQF18VtAEXRkSNHtHr1aq1cuTLPfyVpo8zMTB04cEBjxoxRp06dinywu96WBxeXlZWlQ4cOacSIEWrYsGGBBKei+L7OiyeW41qs7/w6ceKEZsyYoYSEBHl7e2vBggX64osv3H4rEoB9CKuFpEePHtqwYYMef/xxtWvXrrDLuSwLFixQz549VatWLb311luFXc5Vu96WBxe3evVqNW3aVDfddFOuH7v2lKL4vs6LJ5bjWqzv/HK5XPr00081fvx4nTp1SlWqVNGHH36Y5wNCAOzBbQAAAACw1nXzTwEAAABw/SGsAgAAwFqEVQAAAFiLsAoAAABrEVYBAABgLcIqAAAArEVYBQAAgLUIqwAAALDW/wPMVj0LZXJ4iAAAAABJRU5ErkJggg==\n"
+          },
+          "metadata": {}
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df.head(5)"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 206
+        },
+        "id": "3dqIKmKhEFoF",
+        "outputId": "899a11a4-b688-4f51-b006-2ed00d10b51d"
+      },
+      "execution_count": 101,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "       MONATSZAHL AUSPRAEGUNG  JAHR     MONAT   WERT\n",
+              "0  Alkoholunfälle   insgesamt  2019     Summe  434.0\n",
+              "1  Alkoholunfälle   insgesamt  2019   January   22.0\n",
+              "2  Alkoholunfälle   insgesamt  2019  February   28.0\n",
+              "3  Alkoholunfälle   insgesamt  2019     March   34.0\n",
+              "4  Alkoholunfälle   insgesamt  2019     April   36.0"
+            ],
+            "text/html": [
+              "\n",
+              "  <div id=\"df-79124c7c-989a-48ea-b94c-9326fead693d\" class=\"colab-df-container\">\n",
+              "    <div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>MONATSZAHL</th>\n",
+              "      <th>AUSPRAEGUNG</th>\n",
+              "      <th>JAHR</th>\n",
+              "      <th>MONAT</th>\n",
+              "      <th>WERT</th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>0</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>Summe</td>\n",
+              "      <td>434.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>1</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>January</td>\n",
+              "      <td>22.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>February</td>\n",
+              "      <td>28.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>3</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>March</td>\n",
+              "      <td>34.0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>4</th>\n",
+              "      <td>Alkoholunfälle</td>\n",
+              "      <td>insgesamt</td>\n",
+              "      <td>2019</td>\n",
+              "      <td>April</td>\n",
+              "      <td>36.0</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div>\n",
+              "    <div class=\"colab-df-buttons\">\n",
+              "\n",
+              "  <div class=\"colab-df-container\">\n",
+              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-79124c7c-989a-48ea-b94c-9326fead693d')\"\n",
+              "            title=\"Convert this dataframe to an interactive table.\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
+              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
+              "  </svg>\n",
+              "    </button>\n",
+              "\n",
+              "  <style>\n",
+              "    .colab-df-container {\n",
+              "      display:flex;\n",
+              "      gap: 12px;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-convert {\n",
+              "      background-color: #E8F0FE;\n",
+              "      border: none;\n",
+              "      border-radius: 50%;\n",
+              "      cursor: pointer;\n",
+              "      display: none;\n",
+              "      fill: #1967D2;\n",
+              "      height: 32px;\n",
+              "      padding: 0 0 0 0;\n",
+              "      width: 32px;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-convert:hover {\n",
+              "      background-color: #E2EBFA;\n",
+              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "      fill: #174EA6;\n",
+              "    }\n",
+              "\n",
+              "    .colab-df-buttons div {\n",
+              "      margin-bottom: 4px;\n",
+              "    }\n",
+              "\n",
+              "    [theme=dark] .colab-df-convert {\n",
+              "      background-color: #3B4455;\n",
+              "      fill: #D2E3FC;\n",
+              "    }\n",
+              "\n",
+              "    [theme=dark] .colab-df-convert:hover {\n",
+              "      background-color: #434B5C;\n",
+              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
+              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
+              "      fill: #FFFFFF;\n",
+              "    }\n",
+              "  </style>\n",
+              "\n",
+              "    <script>\n",
+              "      const buttonEl =\n",
+              "        document.querySelector('#df-79124c7c-989a-48ea-b94c-9326fead693d button.colab-df-convert');\n",
+              "      buttonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "\n",
+              "      async function convertToInteractive(key) {\n",
+              "        const element = document.querySelector('#df-79124c7c-989a-48ea-b94c-9326fead693d');\n",
+              "        const dataTable =\n",
+              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
+              "                                                    [key], {});\n",
+              "        if (!dataTable) return;\n",
+              "\n",
+              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
+              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
+              "          + ' to learn more about interactive tables.';\n",
+              "        element.innerHTML = '';\n",
+              "        dataTable['output_type'] = 'display_data';\n",
+              "        await google.colab.output.renderOutput(dataTable, element);\n",
+              "        const docLink = document.createElement('div');\n",
+              "        docLink.innerHTML = docLinkHtml;\n",
+              "        element.appendChild(docLink);\n",
+              "      }\n",
+              "    </script>\n",
+              "  </div>\n",
+              "\n",
+              "\n",
+              "<div id=\"df-a0263b96-b1fc-4cfb-9a1c-8f441d9cdcd4\">\n",
+              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-a0263b96-b1fc-4cfb-9a1c-8f441d9cdcd4')\"\n",
+              "            title=\"Suggest charts\"\n",
+              "            style=\"display:none;\">\n",
+              "\n",
+              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
+              "     width=\"24px\">\n",
+              "    <g>\n",
+              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
+              "    </g>\n",
+              "</svg>\n",
+              "  </button>\n",
+              "\n",
+              "<style>\n",
+              "  .colab-df-quickchart {\n",
+              "      --bg-color: #E8F0FE;\n",
+              "      --fill-color: #1967D2;\n",
+              "      --hover-bg-color: #E2EBFA;\n",
+              "      --hover-fill-color: #174EA6;\n",
+              "      --disabled-fill-color: #AAA;\n",
+              "      --disabled-bg-color: #DDD;\n",
+              "  }\n",
+              "\n",
+              "  [theme=dark] .colab-df-quickchart {\n",
+              "      --bg-color: #3B4455;\n",
+              "      --fill-color: #D2E3FC;\n",
+              "      --hover-bg-color: #434B5C;\n",
+              "      --hover-fill-color: #FFFFFF;\n",
+              "      --disabled-bg-color: #3B4455;\n",
+              "      --disabled-fill-color: #666;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart {\n",
+              "    background-color: var(--bg-color);\n",
+              "    border: none;\n",
+              "    border-radius: 50%;\n",
+              "    cursor: pointer;\n",
+              "    display: none;\n",
+              "    fill: var(--fill-color);\n",
+              "    height: 32px;\n",
+              "    padding: 0;\n",
+              "    width: 32px;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart:hover {\n",
+              "    background-color: var(--hover-bg-color);\n",
+              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
+              "    fill: var(--button-hover-fill-color);\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-quickchart-complete:disabled,\n",
+              "  .colab-df-quickchart-complete:disabled:hover {\n",
+              "    background-color: var(--disabled-bg-color);\n",
+              "    fill: var(--disabled-fill-color);\n",
+              "    box-shadow: none;\n",
+              "  }\n",
+              "\n",
+              "  .colab-df-spinner {\n",
+              "    border: 2px solid var(--fill-color);\n",
+              "    border-color: transparent;\n",
+              "    border-bottom-color: var(--fill-color);\n",
+              "    animation:\n",
+              "      spin 1s steps(1) infinite;\n",
+              "  }\n",
+              "\n",
+              "  @keyframes spin {\n",
+              "    0% {\n",
+              "      border-color: transparent;\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "      border-left-color: var(--fill-color);\n",
+              "    }\n",
+              "    20% {\n",
+              "      border-color: transparent;\n",
+              "      border-left-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "    }\n",
+              "    30% {\n",
+              "      border-color: transparent;\n",
+              "      border-left-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "      border-right-color: var(--fill-color);\n",
+              "    }\n",
+              "    40% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "      border-top-color: var(--fill-color);\n",
+              "    }\n",
+              "    60% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "    }\n",
+              "    80% {\n",
+              "      border-color: transparent;\n",
+              "      border-right-color: var(--fill-color);\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "    }\n",
+              "    90% {\n",
+              "      border-color: transparent;\n",
+              "      border-bottom-color: var(--fill-color);\n",
+              "    }\n",
+              "  }\n",
+              "</style>\n",
+              "\n",
+              "  <script>\n",
+              "    async function quickchart(key) {\n",
+              "      const quickchartButtonEl =\n",
+              "        document.querySelector('#' + key + ' button');\n",
+              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
+              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
+              "      try {\n",
+              "        const charts = await google.colab.kernel.invokeFunction(\n",
+              "            'suggestCharts', [key], {});\n",
+              "      } catch (error) {\n",
+              "        console.error('Error during call to suggestCharts:', error);\n",
+              "      }\n",
+              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
+              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
+              "    }\n",
+              "    (() => {\n",
+              "      let quickchartButtonEl =\n",
+              "        document.querySelector('#df-a0263b96-b1fc-4cfb-9a1c-8f441d9cdcd4 button');\n",
+              "      quickchartButtonEl.style.display =\n",
+              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "    })();\n",
+              "  </script>\n",
+              "</div>\n",
+              "\n",
+              "    </div>\n",
+              "  </div>\n"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "dataframe",
+              "variable_name": "df",
+              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 1794,\n  \"fields\": [\n    {\n      \"column\": \"MONATSZAHL\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"Alkoholunf\\u00e4lle\",\n          \"Fluchtunf\\u00e4lle\",\n          \"Verkehrsunf\\u00e4lle\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"AUSPRAEGUNG\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"insgesamt\",\n          \"Verletzte und Get\\u00f6tete\",\n          \"mit Personensch\\u00e4den\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"JAHR\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 5,\n        \"min\": 2000,\n        \"max\": 2019,\n        \"num_unique_values\": 20,\n        \"samples\": [\n          2019,\n          2002,\n          2004\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"MONAT\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 13,\n        \"samples\": [\n          \"November\",\n          \"September\",\n          \"Summe\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"WERT\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1674.8731821587605,\n        \"min\": 0.0,\n        \"max\": 11773.0,\n        \"num_unique_values\": 884,\n        \"samples\": [\n          56.0,\n          4209.0,\n          284.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
+            }
+          },
+          "metadata": {},
+          "execution_count": 101
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "dNRwBaKlyyBz"
+      },
+      "source": [
+        "# I was confused between using label encoder or one hot encoder, but since the model performed better for one hot encoder, i decided to just go with it"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "columns_to_encode = df.columns[0:4]"
+      ],
+      "metadata": {
+        "id": "tjvcKt7JcjUm"
+      },
+      "execution_count": 102,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "columns_to_encode"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "P7ctV8D1dIOe",
+        "outputId": "86ace85a-f8d0-4ea2-d82f-16a00d2152cb"
+      },
+      "execution_count": 105,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "Index(['MONATSZAHL', 'AUSPRAEGUNG', 'JAHR', 'MONAT'], dtype='object')"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 105
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "def _one_hot(df):\n",
+        "  encoder = OneHotEncoder(sparse_output=False)\n",
+        "\n",
+        "  one_hot_columns = df.columns[0:4]\n",
+        "\n",
+        "  df_copy = df.copy()\n",
+        "\n",
+        "  encoded_columns = encoder.fit_transform(df_copy[one_hot_columns])\n",
+        "\n",
+        "  encoded_column_names = encoder.get_feature_names_out(one_hot_columns)\n",
+        "\n",
+        "  encoded_df = pd.DataFrame(\n",
+        "    encoded_columns,\n",
+        "    columns=encoded_column_names,\n",
+        "    index=df_copy.index\n",
+        "  )\n",
+        "\n",
+        "\n",
+        "  final_df = pd.concat([\n",
+        "    df_copy.drop(columns=one_hot_columns),\n",
+        "    encoded_df\n",
+        "  ], axis=1)\n",
+        "\n",
+        "  return final_df, encoder\n",
+        "\n",
+        "final_df, encoder = _one_hot(df)\n"
+      ],
+      "metadata": {
+        "id": "h3rWO-QWY-Tn"
+      },
+      "execution_count": 114,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 110,
+      "metadata": {
+        "id": "poFSghx08_ig",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 1000
+        },
+        "outputId": "99da1f84-2ea1-4ff7-d458-0c77009c8c98"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "WERT                                  0\n",
+              "MONATSZAHL_Alkoholunfälle             0\n",
+              "MONATSZAHL_Fluchtunfälle              0\n",
+              "MONATSZAHL_Verkehrsunfälle            0\n",
+              "AUSPRAEGUNG_Verletzte und Getötete    0\n",
+              "AUSPRAEGUNG_insgesamt                 0\n",
+              "AUSPRAEGUNG_mit Personenschäden       0\n",
+              "JAHR_2000                             0\n",
+              "JAHR_2001                             0\n",
+              "JAHR_2002                             0\n",
+              "JAHR_2003                             0\n",
+              "JAHR_2004                             0\n",
+              "JAHR_2005                             0\n",
+              "JAHR_2006                             0\n",
+              "JAHR_2007                             0\n",
+              "JAHR_2008                             0\n",
+              "JAHR_2009                             0\n",
+              "JAHR_2010                             0\n",
+              "JAHR_2011                             0\n",
+              "JAHR_2012                             0\n",
+              "JAHR_2013                             0\n",
+              "JAHR_2014                             0\n",
+              "JAHR_2015                             0\n",
+              "JAHR_2016                             0\n",
+              "JAHR_2017                             0\n",
+              "JAHR_2018                             0\n",
+              "JAHR_2019                             0\n",
+              "MONAT_April                           0\n",
+              "MONAT_August                          0\n",
+              "MONAT_December                        0\n",
+              "MONAT_February                        0\n",
+              "MONAT_January                         0\n",
+              "MONAT_July                            0\n",
+              "MONAT_June                            0\n",
+              "MONAT_March                           0\n",
+              "MONAT_May                             0\n",
+              "MONAT_November                        0\n",
+              "MONAT_October                         0\n",
+              "MONAT_September                       0\n",
+              "MONAT_Summe                           0\n",
+              "dtype: int64"
+            ],
+            "text/html": [
+              "<div>\n",
+              "<style scoped>\n",
+              "    .dataframe tbody tr th:only-of-type {\n",
+              "        vertical-align: middle;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe tbody tr th {\n",
+              "        vertical-align: top;\n",
+              "    }\n",
+              "\n",
+              "    .dataframe thead th {\n",
+              "        text-align: right;\n",
+              "    }\n",
+              "</style>\n",
+              "<table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              "    <tr style=\"text-align: right;\">\n",
+              "      <th></th>\n",
+              "      <th>0</th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>WERT</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONATSZAHL_Alkoholunfälle</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONATSZAHL_Fluchtunfälle</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONATSZAHL_Verkehrsunfälle</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>AUSPRAEGUNG_Verletzte und Getötete</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>AUSPRAEGUNG_insgesamt</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>AUSPRAEGUNG_mit Personenschäden</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2000</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2001</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2002</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2003</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2004</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2005</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2006</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2007</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2008</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2009</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2010</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2011</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2012</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2013</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2014</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2015</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2016</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2017</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2018</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>JAHR_2019</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_April</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_August</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_December</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_February</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_January</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_July</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_June</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_March</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_May</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_November</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_October</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_September</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>MONAT_Summe</th>\n",
+              "      <td>0</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div><br><label><b>dtype:</b> int64</label>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 110
+        }
+      ],
+      "source": [
+        "final_df.isna().sum()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "d2i8SDsSyyBz"
+      },
+      "source": [
+        "# 3. finally training the model and downloading it as pkl to use in api"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "x = final_df.drop(columns=['WERT'])\n",
+        "y = final_df['WERT']\n",
+        "\n",
+        "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=10)\n"
+      ],
+      "metadata": {
+        "id": "H5GezDyXB_In"
+      },
+      "execution_count": 77,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 78,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 309
+        },
+        "id": "EVn2xhzhzQVa",
+        "outputId": "5fbe46ae-20a7-439d-8f15-e396494dda1a"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Fitting 2 folds for each of 243 candidates, totalling 486 fits\n"
+          ]
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "/usr/local/lib/python3.10/dist-packages/xgboost/core.py:158: UserWarning: [15:56:52] WARNING: /workspace/src/common/error_msg.cc:27: The tree method `gpu_hist` is deprecated since 2.0.0. To use GPU training, set the `device` parameter to CUDA instead.\n",
+            "\n",
+            "    E.g. tree_method = \"hist\", device = \"cuda\"\n",
+            "\n",
+            "  warnings.warn(smsg, UserWarning)\n",
+            "/usr/local/lib/python3.10/dist-packages/xgboost/core.py:158: UserWarning: [15:56:52] WARNING: /workspace/src/learner.cc:740: \n",
+            "Parameters: { \"predictor\" } are not used.\n",
+            "\n",
+            "  warnings.warn(smsg, UserWarning)\n"
+          ]
+        },
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "GridSearchCV(cv=2,\n",
+              "             estimator=XGBRegressor(base_score=None, booster=None,\n",
+              "                                    callbacks=None, colsample_bylevel=None,\n",
+              "                                    colsample_bynode=None,\n",
+              "                                    colsample_bytree=None, device=None,\n",
+              "                                    early_stopping_rounds=None,\n",
+              "                                    enable_categorical=False, eval_metric=None,\n",
+              "                                    feature_types=None, gamma=None,\n",
+              "                                    grow_policy=None, importance_type=None,\n",
+              "                                    interaction_constraints=None,\n",
+              "                                    learning_rate=None, m...\n",
+              "                                    min_child_weight=None, missing=nan,\n",
+              "                                    monotone_constraints=None,\n",
+              "                                    multi_strategy=None, n_estimators=None,\n",
+              "                                    n_jobs=None, num_parallel_tree=None,\n",
+              "                                    predictor='gpu_predictor', ...),\n",
+              "             n_jobs=-1,\n",
+              "             param_grid={'colsample_bytree': [0.6, 0.7, 0.8],\n",
+              "                         'learning_rate': [0.01, 0.05, 0.1],\n",
+              "                         'max_depth': [3, 5, 7],\n",
+              "                         'n_estimators': [100, 200, 300],\n",
+              "                         'subsample': [0.7, 0.8, 0.9]},\n",
+              "             scoring='neg_mean_squared_error', verbose=2)"
+            ],
+            "text/html": [
+              "<style>#sk-container-id-2 {\n",
+              "  /* Definition of color scheme common for light and dark mode */\n",
+              "  --sklearn-color-text: black;\n",
+              "  --sklearn-color-line: gray;\n",
+              "  /* Definition of color scheme for unfitted estimators */\n",
+              "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
+              "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
+              "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
+              "  --sklearn-color-unfitted-level-3: chocolate;\n",
+              "  /* Definition of color scheme for fitted estimators */\n",
+              "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
+              "  --sklearn-color-fitted-level-1: #d4ebff;\n",
+              "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
+              "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
+              "\n",
+              "  /* Specific color for light theme */\n",
+              "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
+              "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
+              "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
+              "  --sklearn-color-icon: #696969;\n",
+              "\n",
+              "  @media (prefers-color-scheme: dark) {\n",
+              "    /* Redefinition of color scheme for dark theme */\n",
+              "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
+              "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
+              "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
+              "    --sklearn-color-icon: #878787;\n",
+              "  }\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 {\n",
+              "  color: var(--sklearn-color-text);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 pre {\n",
+              "  padding: 0;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 input.sk-hidden--visually {\n",
+              "  border: 0;\n",
+              "  clip: rect(1px 1px 1px 1px);\n",
+              "  clip: rect(1px, 1px, 1px, 1px);\n",
+              "  height: 1px;\n",
+              "  margin: -1px;\n",
+              "  overflow: hidden;\n",
+              "  padding: 0;\n",
+              "  position: absolute;\n",
+              "  width: 1px;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-dashed-wrapped {\n",
+              "  border: 1px dashed var(--sklearn-color-line);\n",
+              "  margin: 0 0.4em 0.5em 0.4em;\n",
+              "  box-sizing: border-box;\n",
+              "  padding-bottom: 0.4em;\n",
+              "  background-color: var(--sklearn-color-background);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-container {\n",
+              "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
+              "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
+              "     so we also need the `!important` here to be able to override the\n",
+              "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
+              "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
+              "  display: inline-block !important;\n",
+              "  position: relative;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-text-repr-fallback {\n",
+              "  display: none;\n",
+              "}\n",
+              "\n",
+              "div.sk-parallel-item,\n",
+              "div.sk-serial,\n",
+              "div.sk-item {\n",
+              "  /* draw centered vertical line to link estimators */\n",
+              "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
+              "  background-size: 2px 100%;\n",
+              "  background-repeat: no-repeat;\n",
+              "  background-position: center center;\n",
+              "}\n",
+              "\n",
+              "/* Parallel-specific style estimator block */\n",
+              "\n",
+              "#sk-container-id-2 div.sk-parallel-item::after {\n",
+              "  content: \"\";\n",
+              "  width: 100%;\n",
+              "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
+              "  flex-grow: 1;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-parallel {\n",
+              "  display: flex;\n",
+              "  align-items: stretch;\n",
+              "  justify-content: center;\n",
+              "  background-color: var(--sklearn-color-background);\n",
+              "  position: relative;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-parallel-item {\n",
+              "  display: flex;\n",
+              "  flex-direction: column;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
+              "  align-self: flex-end;\n",
+              "  width: 50%;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
+              "  align-self: flex-start;\n",
+              "  width: 50%;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
+              "  width: 0;\n",
+              "}\n",
+              "\n",
+              "/* Serial-specific style estimator block */\n",
+              "\n",
+              "#sk-container-id-2 div.sk-serial {\n",
+              "  display: flex;\n",
+              "  flex-direction: column;\n",
+              "  align-items: center;\n",
+              "  background-color: var(--sklearn-color-background);\n",
+              "  padding-right: 1em;\n",
+              "  padding-left: 1em;\n",
+              "}\n",
+              "\n",
+              "\n",
+              "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
+              "clickable and can be expanded/collapsed.\n",
+              "- Pipeline and ColumnTransformer use this feature and define the default style\n",
+              "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
+              "*/\n",
+              "\n",
+              "/* Pipeline and ColumnTransformer style (default) */\n",
+              "\n",
+              "#sk-container-id-2 div.sk-toggleable {\n",
+              "  /* Default theme specific background. It is overwritten whether we have a\n",
+              "  specific estimator or a Pipeline/ColumnTransformer */\n",
+              "  background-color: var(--sklearn-color-background);\n",
+              "}\n",
+              "\n",
+              "/* Toggleable label */\n",
+              "#sk-container-id-2 label.sk-toggleable__label {\n",
+              "  cursor: pointer;\n",
+              "  display: block;\n",
+              "  width: 100%;\n",
+              "  margin-bottom: 0;\n",
+              "  padding: 0.5em;\n",
+              "  box-sizing: border-box;\n",
+              "  text-align: center;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
+              "  /* Arrow on the left of the label */\n",
+              "  content: \"▸\";\n",
+              "  float: left;\n",
+              "  margin-right: 0.25em;\n",
+              "  color: var(--sklearn-color-icon);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
+              "  color: var(--sklearn-color-text);\n",
+              "}\n",
+              "\n",
+              "/* Toggleable content - dropdown */\n",
+              "\n",
+              "#sk-container-id-2 div.sk-toggleable__content {\n",
+              "  max-height: 0;\n",
+              "  max-width: 0;\n",
+              "  overflow: hidden;\n",
+              "  text-align: left;\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
+              "  /* fitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-0);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-toggleable__content pre {\n",
+              "  margin: 0.2em;\n",
+              "  border-radius: 0.25em;\n",
+              "  color: var(--sklearn-color-text);\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-0);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
+              "  /* Expand drop-down */\n",
+              "  max-height: 200px;\n",
+              "  max-width: 100%;\n",
+              "  overflow: auto;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
+              "  content: \"▾\";\n",
+              "}\n",
+              "\n",
+              "/* Pipeline/ColumnTransformer-specific style */\n",
+              "\n",
+              "#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
+              "  color: var(--sklearn-color-text);\n",
+              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
+              "  background-color: var(--sklearn-color-fitted-level-2);\n",
+              "}\n",
+              "\n",
+              "/* Estimator-specific style */\n",
+              "\n",
+              "/* Colorize estimator box */\n",
+              "#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
+              "  /* fitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-2);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
+              "#sk-container-id-2 div.sk-label label {\n",
+              "  /* The background is the default theme color */\n",
+              "  color: var(--sklearn-color-text-on-default-background);\n",
+              "}\n",
+              "\n",
+              "/* On hover, darken the color of the background */\n",
+              "#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
+              "  color: var(--sklearn-color-text);\n",
+              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
+              "}\n",
+              "\n",
+              "/* Label box, darken color on hover, fitted */\n",
+              "#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
+              "  color: var(--sklearn-color-text);\n",
+              "  background-color: var(--sklearn-color-fitted-level-2);\n",
+              "}\n",
+              "\n",
+              "/* Estimator label */\n",
+              "\n",
+              "#sk-container-id-2 div.sk-label label {\n",
+              "  font-family: monospace;\n",
+              "  font-weight: bold;\n",
+              "  display: inline-block;\n",
+              "  line-height: 1.2em;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-label-container {\n",
+              "  text-align: center;\n",
+              "}\n",
+              "\n",
+              "/* Estimator-specific */\n",
+              "#sk-container-id-2 div.sk-estimator {\n",
+              "  font-family: monospace;\n",
+              "  border: 1px dotted var(--sklearn-color-border-box);\n",
+              "  border-radius: 0.25em;\n",
+              "  box-sizing: border-box;\n",
+              "  margin-bottom: 0.5em;\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-estimator.fitted {\n",
+              "  /* fitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-0);\n",
+              "}\n",
+              "\n",
+              "/* on hover */\n",
+              "#sk-container-id-2 div.sk-estimator:hover {\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
+              "  /* fitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-2);\n",
+              "}\n",
+              "\n",
+              "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
+              "\n",
+              "/* Common style for \"i\" and \"?\" */\n",
+              "\n",
+              ".sk-estimator-doc-link,\n",
+              "a:link.sk-estimator-doc-link,\n",
+              "a:visited.sk-estimator-doc-link {\n",
+              "  float: right;\n",
+              "  font-size: smaller;\n",
+              "  line-height: 1em;\n",
+              "  font-family: monospace;\n",
+              "  background-color: var(--sklearn-color-background);\n",
+              "  border-radius: 1em;\n",
+              "  height: 1em;\n",
+              "  width: 1em;\n",
+              "  text-decoration: none !important;\n",
+              "  margin-left: 1ex;\n",
+              "  /* unfitted */\n",
+              "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
+              "  color: var(--sklearn-color-unfitted-level-1);\n",
+              "}\n",
+              "\n",
+              ".sk-estimator-doc-link.fitted,\n",
+              "a:link.sk-estimator-doc-link.fitted,\n",
+              "a:visited.sk-estimator-doc-link.fitted {\n",
+              "  /* fitted */\n",
+              "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
+              "  color: var(--sklearn-color-fitted-level-1);\n",
+              "}\n",
+              "\n",
+              "/* On hover */\n",
+              "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
+              ".sk-estimator-doc-link:hover,\n",
+              "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
+              ".sk-estimator-doc-link:hover {\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-3);\n",
+              "  color: var(--sklearn-color-background);\n",
+              "  text-decoration: none;\n",
+              "}\n",
+              "\n",
+              "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
+              ".sk-estimator-doc-link.fitted:hover,\n",
+              "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
+              ".sk-estimator-doc-link.fitted:hover {\n",
+              "  /* fitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-3);\n",
+              "  color: var(--sklearn-color-background);\n",
+              "  text-decoration: none;\n",
+              "}\n",
+              "\n",
+              "/* Span, style for the box shown on hovering the info icon */\n",
+              ".sk-estimator-doc-link span {\n",
+              "  display: none;\n",
+              "  z-index: 9999;\n",
+              "  position: relative;\n",
+              "  font-weight: normal;\n",
+              "  right: .2ex;\n",
+              "  padding: .5ex;\n",
+              "  margin: .5ex;\n",
+              "  width: min-content;\n",
+              "  min-width: 20ex;\n",
+              "  max-width: 50ex;\n",
+              "  color: var(--sklearn-color-text);\n",
+              "  box-shadow: 2pt 2pt 4pt #999;\n",
+              "  /* unfitted */\n",
+              "  background: var(--sklearn-color-unfitted-level-0);\n",
+              "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
+              "}\n",
+              "\n",
+              ".sk-estimator-doc-link.fitted span {\n",
+              "  /* fitted */\n",
+              "  background: var(--sklearn-color-fitted-level-0);\n",
+              "  border: var(--sklearn-color-fitted-level-3);\n",
+              "}\n",
+              "\n",
+              ".sk-estimator-doc-link:hover span {\n",
+              "  display: block;\n",
+              "}\n",
+              "\n",
+              "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
+              "\n",
+              "#sk-container-id-2 a.estimator_doc_link {\n",
+              "  float: right;\n",
+              "  font-size: 1rem;\n",
+              "  line-height: 1em;\n",
+              "  font-family: monospace;\n",
+              "  background-color: var(--sklearn-color-background);\n",
+              "  border-radius: 1rem;\n",
+              "  height: 1rem;\n",
+              "  width: 1rem;\n",
+              "  text-decoration: none;\n",
+              "  /* unfitted */\n",
+              "  color: var(--sklearn-color-unfitted-level-1);\n",
+              "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 a.estimator_doc_link.fitted {\n",
+              "  /* fitted */\n",
+              "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
+              "  color: var(--sklearn-color-fitted-level-1);\n",
+              "}\n",
+              "\n",
+              "/* On hover */\n",
+              "#sk-container-id-2 a.estimator_doc_link:hover {\n",
+              "  /* unfitted */\n",
+              "  background-color: var(--sklearn-color-unfitted-level-3);\n",
+              "  color: var(--sklearn-color-background);\n",
+              "  text-decoration: none;\n",
+              "}\n",
+              "\n",
+              "#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
+              "  /* fitted */\n",
+              "  background-color: var(--sklearn-color-fitted-level-3);\n",
+              "}\n",
+              "</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GridSearchCV(cv=2,\n",
+              "             estimator=XGBRegressor(base_score=None, booster=None,\n",
+              "                                    callbacks=None, colsample_bylevel=None,\n",
+              "                                    colsample_bynode=None,\n",
+              "                                    colsample_bytree=None, device=None,\n",
+              "                                    early_stopping_rounds=None,\n",
+              "                                    enable_categorical=False, eval_metric=None,\n",
+              "                                    feature_types=None, gamma=None,\n",
+              "                                    grow_policy=None, importance_type=None,\n",
+              "                                    interaction_constraints=None,\n",
+              "                                    learning_rate=None, m...\n",
+              "                                    min_child_weight=None, missing=nan,\n",
+              "                                    monotone_constraints=None,\n",
+              "                                    multi_strategy=None, n_estimators=None,\n",
+              "                                    n_jobs=None, num_parallel_tree=None,\n",
+              "                                    predictor=&#x27;gpu_predictor&#x27;, ...),\n",
+              "             n_jobs=-1,\n",
+              "             param_grid={&#x27;colsample_bytree&#x27;: [0.6, 0.7, 0.8],\n",
+              "                         &#x27;learning_rate&#x27;: [0.01, 0.05, 0.1],\n",
+              "                         &#x27;max_depth&#x27;: [3, 5, 7],\n",
+              "                         &#x27;n_estimators&#x27;: [100, 200, 300],\n",
+              "                         &#x27;subsample&#x27;: [0.7, 0.8, 0.9]},\n",
+              "             scoring=&#x27;neg_mean_squared_error&#x27;, verbose=2)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" ><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;GridSearchCV<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.model_selection.GridSearchCV.html\">?<span>Documentation for GridSearchCV</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>GridSearchCV(cv=2,\n",
+              "             estimator=XGBRegressor(base_score=None, booster=None,\n",
+              "                                    callbacks=None, colsample_bylevel=None,\n",
+              "                                    colsample_bynode=None,\n",
+              "                                    colsample_bytree=None, device=None,\n",
+              "                                    early_stopping_rounds=None,\n",
+              "                                    enable_categorical=False, eval_metric=None,\n",
+              "                                    feature_types=None, gamma=None,\n",
+              "                                    grow_policy=None, importance_type=None,\n",
+              "                                    interaction_constraints=None,\n",
+              "                                    learning_rate=None, m...\n",
+              "                                    min_child_weight=None, missing=nan,\n",
+              "                                    monotone_constraints=None,\n",
+              "                                    multi_strategy=None, n_estimators=None,\n",
+              "                                    n_jobs=None, num_parallel_tree=None,\n",
+              "                                    predictor=&#x27;gpu_predictor&#x27;, ...),\n",
+              "             n_jobs=-1,\n",
+              "             param_grid={&#x27;colsample_bytree&#x27;: [0.6, 0.7, 0.8],\n",
+              "                         &#x27;learning_rate&#x27;: [0.01, 0.05, 0.1],\n",
+              "                         &#x27;max_depth&#x27;: [3, 5, 7],\n",
+              "                         &#x27;n_estimators&#x27;: [100, 200, 300],\n",
+              "                         &#x27;subsample&#x27;: [0.7, 0.8, 0.9]},\n",
+              "             scoring=&#x27;neg_mean_squared_error&#x27;, verbose=2)</pre></div> </div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">best_estimator_: XGBRegressor</label><div class=\"sk-toggleable__content fitted\"><pre>XGBRegressor(base_score=None, booster=None, callbacks=None,\n",
+              "             colsample_bylevel=None, colsample_bynode=None,\n",
+              "             colsample_bytree=0.8, device=None, early_stopping_rounds=None,\n",
+              "             enable_categorical=False, eval_metric=None, feature_types=None,\n",
+              "             gamma=None, grow_policy=None, importance_type=None,\n",
+              "             interaction_constraints=None, learning_rate=0.1, max_bin=None,\n",
+              "             max_cat_threshold=None, max_cat_to_onehot=None,\n",
+              "             max_delta_step=None, max_depth=5, max_leaves=None,\n",
+              "             min_child_weight=None, missing=nan, monotone_constraints=None,\n",
+              "             multi_strategy=None, n_estimators=300, n_jobs=None,\n",
+              "             num_parallel_tree=None, predictor=&#x27;gpu_predictor&#x27;, ...)</pre></div> </div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-4\" type=\"checkbox\" ><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">XGBRegressor</label><div class=\"sk-toggleable__content fitted\"><pre>XGBRegressor(base_score=None, booster=None, callbacks=None,\n",
+              "             colsample_bylevel=None, colsample_bynode=None,\n",
+              "             colsample_bytree=0.8, device=None, early_stopping_rounds=None,\n",
+              "             enable_categorical=False, eval_metric=None, feature_types=None,\n",
+              "             gamma=None, grow_policy=None, importance_type=None,\n",
+              "             interaction_constraints=None, learning_rate=0.1, max_bin=None,\n",
+              "             max_cat_threshold=None, max_cat_to_onehot=None,\n",
+              "             max_delta_step=None, max_depth=5, max_leaves=None,\n",
+              "             min_child_weight=None, missing=nan, monotone_constraints=None,\n",
+              "             multi_strategy=None, n_estimators=300, n_jobs=None,\n",
+              "             num_parallel_tree=None, predictor=&#x27;gpu_predictor&#x27;, ...)</pre></div> </div></div></div></div></div></div></div></div></div>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 78
+        }
+      ],
+      "source": [
+        "xgb = XGBRegressor(\n",
+        "    tree_method='gpu_hist',\n",
+        "    predictor='gpu_predictor',\n",
+        "    verbosity=2\n",
+        ")\n",
+        "\n",
+        "\n",
+        "params = {\n",
+        "    'n_estimators': [100, 200, 300],\n",
+        "    'learning_rate': [0.01, 0.05, 0.1],\n",
+        "    'max_depth': [3, 5, 7],\n",
+        "    'subsample': [0.7, 0.8, 0.9],\n",
+        "    'colsample_bytree': [0.6, 0.7, 0.8]\n",
+        "}\n",
+        "\n",
+        "\n",
+        "grid_search = GridSearchCV(\n",
+        "    estimator=xgb,\n",
+        "    param_grid=params,\n",
+        "    cv=2,\n",
+        "    scoring='neg_mean_squared_error',\n",
+        "    verbose=2,\n",
+        "    n_jobs=-1\n",
+        ")\n",
+        "\n",
+        "grid_search.fit(x_train, y_train)"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "best_model = grid_search.best_estimator_\n",
+        "y_pred = best_model.predict(x_test)\n",
+        "\n",
+        "mse = mean_squared_error(y_test, y_pred)\n",
+        "print(\"Mean Squared Error on the test set: \", mse)"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "G1aPfPxKIzYY",
+        "outputId": "a8a91b18-7570-47d7-a483-881ddf7dd1d6"
+      },
+      "execution_count": 79,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Mean Squared Error on the test set:  17201.635761885165\n"
+          ]
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "/usr/local/lib/python3.10/dist-packages/xgboost/core.py:158: UserWarning: [15:56:53] WARNING: /workspace/src/common/error_msg.cc:27: The tree method `gpu_hist` is deprecated since 2.0.0. To use GPU training, set the `device` parameter to CUDA instead.\n",
+            "\n",
+            "    E.g. tree_method = \"hist\", device = \"cuda\"\n",
+            "\n",
+            "  warnings.warn(smsg, UserWarning)\n",
+            "/usr/local/lib/python3.10/dist-packages/xgboost/core.py:158: UserWarning: [15:56:53] WARNING: /workspace/src/common/error_msg.cc:58: Falling back to prediction using DMatrix due to mismatched devices. This might lead to higher memory usage and slower performance. XGBoost is running on: cuda:0, while the input data is on: cpu.\n",
+            "Potential solutions:\n",
+            "- Use a data structure that matches the device ordinal in the booster.\n",
+            "- Set the device for booster before call to inplace_predict.\n",
+            "\n",
+            "This warning will only be shown once.\n",
+            "\n",
+            "  warnings.warn(smsg, UserWarning)\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "columns_to_encode"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "h23QhE7Gd3E4",
+        "outputId": "12854042-465a-41ee-b49f-84e3375baab8"
+      },
+      "execution_count": 112,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "Index(['MONATSZAHL', 'AUSPRAEGUNG', 'JAHR', 'MONAT'], dtype='object')"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 112
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "def _inference(MONATSZAHL, AUSPRAEGUNG, JAHR, MONAT, encoder, columns_to_encode):\n",
+        "\n",
+        "  temp_df = pd.DataFrame({\n",
+        "      'MONATSZAHL': [MONATSZAHL],\n",
+        "      'AUSPRAEGUNG': [AUSPRAEGUNG],\n",
+        "      'JAHR': [JAHR],\n",
+        "      'MONAT': [MONAT]\n",
+        "  })\n",
+        "\n",
+        "  temp_df_copy = temp_df.copy()\n",
+        "\n",
+        "  processed_df = convert_date(temp_df_copy)\n",
+        "\n",
+        "  encoded_columns = encoder.transform(processed_df[columns_to_encode])\n",
+        "\n",
+        "  encoded_column_names = encoder.get_feature_names_out(columns_to_encode)\n",
+        "\n",
+        "  encoded_df = pd.DataFrame(encoded_columns, columns=encoded_column_names, index=processed_df.index)\n",
+        "\n",
+        "  final_df = pd.concat([processed_df.drop(columns=columns_to_encode),encoded_df], axis=1)\n",
+        "\n",
+        "  predictions = best_model.predict(final_df)\n",
+        "\n",
+        "  return predictions\n",
+        "\n",
+        "result = _inference('Alkoholunfälle', 'Verletzte und Getötete', 2012, '201207', encoder, columns_to_encode)\n"
+      ],
+      "metadata": {
+        "id": "ICDOC1WIX8As"
+      },
+      "execution_count": 116,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "result"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "id": "u2ROrrC6fvo2",
+        "outputId": "05bb5bb0-018a-4bb8-e06a-a53e383a9d58"
+      },
+      "execution_count": 119,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "array([33.349915], dtype=float32)"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 119
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Storing the model & the encoder to be used in our api endpoint"
+      ],
+      "metadata": {
+        "id": "zOa3pLT3a08b"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 118,
+      "metadata": {
+        "id": "EhSjmlIAOAGk"
+      },
+      "outputs": [],
+      "source": [
+        "with open('model.pkl', 'wb') as file:\n",
+        "    pickle.dump(best_model, file)\n",
+        "\n",
+        "with open('encoder.pkl', 'wb') as file:\n",
+        "    pickle.dump(encoder, file)"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [],
+      "metadata": {
+        "id": "JJsb2Rhve6CL"
+      },
+      "execution_count": null,
+      "outputs": []
+    }
+  ],
+  "metadata": {
+    "accelerator": "GPU",
+    "colab": {
+      "gpuType": "T4",
+      "provenance": []
+    },
+    "kernelspec": {
+      "display_name": "Python 3",
+      "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.12.6"
+    }
+  },
+  "nbformat": 4,
+  "nbformat_minor": 0
+}
\ No newline at end of file