{ "cells": [ { "cell_type": "markdown", "id": "365d97a4", "metadata": {}, "source": [ "# Python Weather Analysis\n", "\n", "In this notebook, we will perform a basic weather data analysis using Python. We will:\n", "\n", "1. Load weather data from a CSV file using pandas.\n", "2. Visualize the first few rows of the table.\n", "3. Summarize the table and show the information of the dataframe.\n", "4. Compute the mean and maximum temperature from the data.\n", "5. Create a scatter plot of rain over the days using pandas plotting methods.\n", "6. Group the data by seasons and plot a boxplot of the rain data for the four seasons using seaborn.\n" ] }, { "cell_type": "markdown", "id": "e81015fe", "metadata": {}, "source": [ "## Disclaimer\n", "\n", "This code is generated by an AI model using the [bia-bob project](https://github.com/haesleinhuepf/bia-bob). It is good scientific practice to check the code and results it produces carefully." ] }, { "cell_type": "markdown", "id": "fc33c8f5", "metadata": {}, "source": [ "## Import Libraries\n", "\n", "First, we will import the necessary libraries for our analysis." ] }, { "cell_type": "code", "id": "acac3389", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:01.790500Z", "start_time": "2024-05-29T09:42:01.788623Z" } }, "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns" ], "outputs": [], "execution_count": 1 }, { "cell_type": "markdown", "id": "39269d1f", "metadata": {}, "source": [ "## Load Weather Data\n", "\n", "We will load the weather data from a CSV file called `german_weather_2023.csv` using pandas." ] }, { "cell_type": "code", "id": "d78d3958", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:01.794266Z", "start_time": "2024-05-29T09:42:01.791072Z" } }, "source": [ "df = pd.read_csv('german_weather_2023.csv')" ], "outputs": [], "execution_count": 2 }, { "cell_type": "markdown", "id": "87731337", "metadata": {}, "source": [ "## Visualize the Head of the Table\n", "\n", "Let's have a look at the first few rows of the dataframe to understand the structure of the data." ] }, { "cell_type": "code", "id": "ad70575f", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:01.800719Z", "start_time": "2024-05-29T09:42:01.795605Z" } }, "source": [ "display(df.head())" ], "outputs": [ { "data": { "text/plain": [ " date temperature rain\n", "0 2023-01-01 -1.254599 14.507143\n", "1 2023-01-02 0.986585 6.560186\n", "2 2023-01-03 -4.419164 13.661761\n", "3 2023-01-04 2.080726 5.205845\n", "4 2023-01-05 3.324426 7.123391" ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
datetemperaturerain
02023-01-01-1.25459914.507143
12023-01-020.9865856.560186
22023-01-03-4.41916413.661761
32023-01-042.0807265.205845
42023-01-053.3244267.123391
\n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 3 }, { "cell_type": "markdown", "id": "d419d9cb", "metadata": {}, "source": [ "## Summarize the Table and Show Info\n", "\n", "We will summarize the dataframe and show its info to understand the columns and types of data we are dealing with." ] }, { "cell_type": "code", "id": "a0679dd8e7c1de5a", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:01.805683Z", "start_time": "2024-05-29T09:42:01.801346Z" } }, "source": "print(df.describe())", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " temperature rain\n", "count 365.000000 365.000000\n", "mean 10.708104 10.959650\n", "std 8.545935 7.639665\n", "min -4.944779 0.145447\n", "25% 5.143935 6.272566\n", "50% 10.427244 9.456826\n", "75% 15.182317 13.961197\n", "max 29.949553 57.799883\n" ] } ], "execution_count": 4 }, { "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:01.809983Z", "start_time": "2024-05-29T09:42:01.806318Z" } }, "cell_type": "code", "source": "print(df.info())", "id": "83706269", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 365 entries, 0 to 364\n", "Data columns (total 3 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 date 365 non-null object \n", " 1 temperature 365 non-null float64\n", " 2 rain 365 non-null float64\n", "dtypes: float64(2), object(1)\n", "memory usage: 8.7+ KB\n", "None\n" ] } ], "execution_count": 5 }, { "cell_type": "markdown", "id": "c0c708e4", "metadata": {}, "source": [ "## Compute Mean and Maximum Temperature\n", "\n", "Next, we will compute the mean and maximum temperature from the temperature column in the dataframe." ] }, { "cell_type": "code", "id": "c6a86506", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:01.812478Z", "start_time": "2024-05-29T09:42:01.810600Z" } }, "source": [ "mean_temperature = df['temperature'].mean()\n", "max_temperature = df['temperature'].max()\n", "print(f'Mean Temperature: {mean_temperature}')\n", "print(f'Maximum Temperature: {max_temperature}')" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean Temperature: 10.708104411661468\n", "Maximum Temperature: 29.949552556108586\n" ] } ], "execution_count": 6 }, { "cell_type": "markdown", "id": "e2856199", "metadata": {}, "source": [ "## Scatter Plot of Rain Over Days\n", "\n", "We will use pandas' internal plotting methods to create a scatter plot of rain over the days, omitting the x-axis labels to not clutter the plot." ] }, { "cell_type": "code", "id": "a5786d7d", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:35.521819Z", "start_time": "2024-05-29T09:42:35.333767Z" } }, "source": [ "df.plot.scatter(x='date', y='rain', xlabel='date', ylabel='Rain (mm)', title='Rain over the Days')\n", "plt.xticks([])\n", "plt.show()" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGrCAYAAADn3xwpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABnO0lEQVR4nO3deXgUVdo28LvTBLJA9oCDIgETGIFgIiasouArOI6AC8pEBEWUGeUDN9zxdRkRZxQXGB11ABHFoDCi4KsOzoiCICYBAgEREgJRYYCsBBJDkk5/f2C13Z1aTlVXL5Xcv+vymqG703W6uqvqqXOe8xyb0+l0goiIiMgCwoLdACIiIiJRDFyIiIjIMhi4EBERkWUwcCEiIiLLYOBCRERElsHAhYiIiCyDgQsRERFZBgMXIiIisgwGLkTUZrCeJlHb1yHYDSAieVOmTEFeXp7HYzabDdHR0ejduzduueUW/P73v9f1ng899BDy8vLwxRdfmNnUkPCf//wH//rXv/DXv/4VAPDtt99i6tSpWL58OQYPHmz69vr27evxb7vdji5duqBfv3645ZZbcMkll5i+TSJi4EIU0vr164fHH3/c9W+Hw4GjR49i2bJluPfee9GlSxeMHDlS+P3uvPNOTJ061R9NDbply5YFfJsTJ07E9ddfDwBoampCeXk5Vq9ejRkzZuCxxx7DTTfdFPA2EbV1DFyIQljnzp2RkZHR6vFLLrkEQ4cOxT//+U9dgcu5555rYuvorLPOavX9/O53v8PMmTPx7LPP4tJLL8U555wTnMYRtVHMcSGyoI4dOyI8PNzjsYaGBixYsABjxozBgAEDcOGFF2LatGnYu3ev6zUPPfQQRo8e7fr36NGjsXDhQvzlL3/BsGHDMHDgQEyfPh0HDx5U3f7p06fxyiuv4IorrkB6ejrGjBmDN954Ay0tLQCA1157Df3790dVVZXH37377rvo168fysvLAQBHjhzBvffei+zsbFxwwQW4+eab8d1337le/9NPP6Fv375488038bvf/Q7Z2dn44IMPWrVHGlbLy8tD37598e2337qeKy0txfTp03HBBRdg+PDheP7559Hc3Ox6vqWlBW+88QYuv/xyDBgwAGPHjsXbb7+t+vnV2Gw23HfffWhqasLq1as9PssDDzyAESNGoH///hg6dCgeeOABVFdXAwD+8pe/YODAgTh58qTH+73xxhvIzMxEfX09Tp8+jSeffBIjR47EgAEDcMUVV2Dp0qWG20pkRQxciEKY0+lEc3Oz67/Tp0+jrKwMc+fORV1dHSZMmOB67QMPPOAapli6dCkeeugh7N+/H/fcc49q0ury5ctRWlqK+fPn4+mnn8bu3bvx0EMPqbbpT3/6ExYvXoyJEyfitddewxVXXIGXXnrJNaw1fvx4OBwOrF+/3uNvP/74YwwdOhTJycmoqqrCH/7wB+zZswePPfYYFixYgJaWFkyePBkHDhzw+LsXX3wR06dPx9NPP40hQ4a0atPjjz+Ofv36oV+/fnjvvffQv39/13Pz58/HoEGD8Nprr2HMmDH4xz/+gZUrV7qef+KJJ7Bw4UKMHz/e9VmeeeYZvPLKK4r7QMt5552H3/zmN9i2bRsA4Oeff8bUqVNx4MABPP7441iyZAluuukmfPzxx3jhhRcAnBl2On36ND777DOP9/rwww9xxRVXICoqCvPmzcNXX32FBx98EEuWLMFll12Gv/zlL7LBHFFbxaEiohCWn5/vcREGztzR9+nTBy+//LKr96SxsRF1dXV47LHHcOWVVwIAsrOzUVdXh2effRbl5eXo2rWr7DZiYmLw6quvwm63AwB++OEHLFq0CNXV1YiPj2/1+o0bN2LLli147rnnMH78eADA8OHDERERgZdffhk333wzUlNTkZWVhf/7v//DH/7wBwBnele2b9/uSp596623UFNTg9zcXJx99tkAgJEjR+LKK6/Eyy+/jIULF7q2OWbMGEycOFFxP6WmpqJz584A0GroZurUqbjzzjsBAEOGDMGGDRuwdetW3HTTTTh48CDef/993HvvvZgxYwYAYMSIEbDZbHj99ddx4403yu4DEUlJSaioqAAAHDp0CGeddRaeffZZ13DdkCFDUFRU5ErAPu+885CZmYmPPvrIlTeza9cuHDhwAE899RQAIC8vD8OGDXMlZQ8ePBhRUVGG20hkRexxIQph/fv3x+rVq7F69Wq88sor6NOnD1JSUvDiiy/iiiuucL2uY8eOWLJkCa688kocP34c+fn5eO+997BhwwYAZxJHlaSnp7uCFuBM3gZwppdATl5eHux2uytAkkhBjDRMM2HCBBQUFOD48eMAgP/7v/9DZGQkLr/8cgDAN998g/PPPx/dunVz9SiFhYVh5MiR2LJli8d79+nTR3tnKbjoootc/99ms+Hss89GbW0tAGDr1q1wOp0YPXq0R8/W6NGjcfr0aVePiVE2mw0AcP755+Pdd9/FOeecgx9//BGbNm3C0qVLUVpa6vHdXHfddSgoKMBPP/0EAPjggw9w7rnnuj7D4MGDsWrVKtx+++149913cfjwYcycOROjRo3yqZ1EVsIeF6IQFh0djfT0dABnAozMzExMmDABt956K9asWYOEhATXazdt2oRnnnkGpaWliI6ORt++fREdHQ1Avb5JZGSkx7/Dws7cz0j5Kt5OnDiB+Ph4dOjgefpITk4GAFeOxhVXXIE///nP+PTTT3HzzTfj448/xpgxY1zbq6mpQVlZWaseJYl74JSUlKTYfi1yn0/aHzU1NQCgOK382LFjhrd77NgxpKWluf795ptv4vXXX0d1dTWSkpLQv39/REZGeuS0XHnllXjmmWewdu1a3Hbbba59J3n00Udx1llnYe3atXjyyScBAJmZmfjf//1f9OvXz3BbiayEgQuRhSQmJuJ///d/MWvWLMybNw8LFiwAcGZ4Z+bMmbjsssvw+uuvu4YjVqxYgU2bNpnahtjYWFRXV6O5udkjeJF6VqRhi86dO+Oyyy7Dp59+ihEjRuD777/Hgw8+6Hp9ly5dkJ2djQceeEB2Ox07djS13XJiYmIAnBm2koI8d927dzf0vgcOHMDx48dx4403AgDWrVuHZ599Fvfddx8mTpzoCjjvuusuFBUVuf4uOjoaV1xxBT799FOcf/75qK2txdVXX+16vmPHjrjjjjtwxx134MiRI9iwYQNeffVV3Hffffj0008NtZXIajhURGQxY8aMwcUXX4yPP/7YNSyze/dunD59Gn/84x89pjxLQYuZFWWzs7PhcDjwySefeDy+du1aAMCgQYNcj02YMAE7d+7EihUr0LVrV4/E2uzsbBw8eBC9evVCenq667+1a9di1apVHsNXIqSeIj2ysrIAANXV1R5tqKmpwUsvveTqkdFr4cKFiIiIwDXXXAMA2LZtG7p06YIZM2a4gpa6ujps27atVc/WxIkTsX//fixduhRDhgxxBU8NDQ0YO3asaxZR9+7dMXnyZPz+97/H0aNHDbWTyIrY40JkQY888gjGjx+Pp59+GmvWrEH//v3RoUMHPPfcc7j11lvR2NiIDz74AF9++SUAoL6+3rRtjxw5EoMH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" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 9 }, { "cell_type": "markdown", "id": "38b13ccd", "metadata": {}, "source": [ "## Group Data by Seasons\n", "\n", "We will group the data by seasons (Winter, Spring, Summer, Autumn) by associating the months of the year and then plot a boxplot of rain in the four seasons using seaborn." ] }, { "cell_type": "code", "id": "ac819402", "metadata": { "ExecuteTime": { "end_time": "2024-05-29T09:42:02.065959Z", "start_time": "2024-05-29T09:42:01.997707Z" } }, "source": [ "def get_season(month):\n", " if month in [12, 1, 2]:\n", " return 'Winter'\n", " elif month in [3, 4, 5]:\n", " return 'Spring'\n", " elif month in [6, 7, 8]:\n", " return 'Summer'\n", " else:\n", " return 'Autumn'\n", "\n", "df['season'] = pd.to_datetime(df['date']).dt.month.apply(get_season)\n", "sns.boxplot(x='season', y='rain', data=df)\n", "plt.title('Rain by Season')\n", "plt.xlabel('Season')\n", "plt.ylabel('Rain (mm)')\n", "plt.show()" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAHBCAYAAABOsDAVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGH0lEQVR4nO3dfVxUZf7/8TczoqAYiHdgNyYqVASJaTpRmLbqVot3mdaOljerBbTumpp3KGmgbW2ba4qVZq6B3ZG3pWX3uIplbgqx3UiRffOuFCVREZyZ3x8u82tSE5RhODOv5+PhozjncM5n5jBz3uec61yXn8PhcAgAAMAATJ4uAAAAoLoILgAAwDAILgAAwDAILgAAwDAILgAAwDAILgAAwDAILgAAwDAILgAAwDAILgAAwDAaeLoAALVj+PDh+uSTT1ym+fn5qUmTJoqIiNCIESN0xx131GidU6ZM0SeffKL333//omqLiorSgw8+qD//+c8XtZ6z2bNnjzIzM/Xvf/9bhw4dUlBQkK677jqNHDlS3bt3r/XtAfAsggvgRa655hqlpaU5f7bZbNq/f7+WLVumhx56SE2bNlVCQkK115ecnKx7773XHaXWip9++klDhw5Vq1atNH78eLVp00YlJSV67bXXNGLECM2fP199+vTxdJkAahHBBfAiQUFB6tSp0xnTe/ToIYvFotdff71GweWKK66oxepq36uvvqqff/5ZGzZsUNOmTZ3Te/furbvuukv//Oc/CS6Al6GNC+ADGjZsKH9/f5dp5eXlevLJJ9WnTx9de+216ty5s0aOHKkvvvjCucyUKVPUq1cv58+9evXS/Pnz9be//U033nijYmNjNXr0aBUXF5+3hrKyMk2cOFFxcXGyWCxKT0/XiRMnJEnZ2dmKioo6Yz1vvvmmrrrqKv3www9nXefBgwfl5+cnu93uMt1sNmvChAkaMmSIy/RPP/1Uw4YN03XXXacbbrhBkydPVklJicsy27Zt0+jRo9W1a1dde+216tWrl55++mmXbaxfv179+vVTbGysunfvrokTJ+rHH390zrfZbMrOzlZiYqJiY2N1yy236O9//7tOnjzp8t6OGDFCr7/+uvr27atrr71W/fr100cffXTe9xLwZQQXwIs4HA6dOnXK+e/kyZPavXu3UlNTdezYMfXv39+57MMPP6ycnByNHTtWS5cu1ZQpU/T1119r/Pjx+q1B45cvX65vv/1Wc+fOVXp6uj7//HNNmTLlvLW9+OKLKisr07x583T//ffrtddeU2pqqiQpMTFRjRo10po1a1x+Z9WqVbrhhht02WWXnXWdt9xyi8rLyzVkyBA9//zz+u9//yubzSZJio+P13333edcdtu2bRoxYoQCAgI0b948TZs2TZ988onuvfdelZeXS5K+/PJLjRgxQiEhIXrqqae0aNEide7cWQsWLNCbb74pSdq+fbsmTpyoPn36aPHixZo6daq2bt2qCRMmOLc1c+ZMzZkzR7169dKiRYtktVqVlZWl5ORkl/f2888/1/PPP69x48Zp4cKFatCggcaNG6fS0tLzvp+Az3IA8ArDhg1zREZGnvEvKirKkZiY6NiwYYNz2ZMnTzpGjRrlePPNN13WsXTpUkdkZKTjwIEDDofD4Zg8ebKjZ8+ezvk9e/Z09OzZ03Hq1CnntKefftoRGRnpKCkpOWdtkZGRjttvv91hs9mc05YtW+aIiopyFBUVORwOh+Ohhx5y9OzZ02G32x0Oh8Nx4MABx9VXX+1YtWrVb77urKwsR+fOnZ2vt3Pnzo6UlBTHpk2bXJYbOnSo4w9/+INL7d9++63j6quvdmRlZTkcDodj1apVjj/96U8uddpsNsf111/vmDFjhsPhcDieffZZR6dOnRzl5eXOZT788EPH008/7bDb7Y5du3Y5IiMjHZmZmS7bX716tSMyMtLx4YcfOhyO0+9tZGSkY/fu3c5lPvnkE0dkZKTjrbfe+s3XDPgyrrgAXiQ6Olo5OTnKycnRwoULFRkZqSuvvFJPPfWUfv/73zuXa9iwoZ5//nndfvvt+vHHH7Vt2za98sor+uCDDyRJlZWV59xGTEyMzGaz8+ewsDBJct72OZe+ffvKZPr/Xzl9+vSRw+HQ1q1bJUmDBw/Wnj179Omnn0qS1qxZo4CAAPXt2/c312u1WvXvf/9bCxYskNVqVXh4uN555x2NHj1ajz32mLO2nTt3qkePHi5XpS6//HK1b99emzdvliQNGDBAixcvVmVlpXbt2qV3331XTz/9tGw2m/M96dq1q8rLy5WYmKinnnpK27dv10033aQHH3xQfn5+zie7EhMTXeq84447ZDab9fHHHzunhYaGurQjqu57CfgyGucCXqRJkyaKiYmRdDpgxMXFqX///ho1apRWrVql0NBQ57KbNm3SnDlz9O2336pJkyaKiopSkyZNJOk3bxUFBga6/FwVRn7dzuTXWrRo4fJz8+bNJUk///yzJKl79+667LLLtHr1anXt2lWrV6/Wbbfddsb2zlVT79691bt3b0nS7t27NX36dL3wwgsaNGiQgoODZbfbtXjxYi1evPiM32/UqJGk0+1+Hn30Ua1Zs0anTp3SZZddpri4ODVo0MD5nsTFxem5557TsmXL9Pzzz+uZZ55Ry5YtNWbMGN13333O2zwtW7Z02UaDBg3UrFkzHT161KXuX/Lz85N0/vcS8GUEF8CLNW/eXDNnztSf//xnZWRk6Mknn5Qkff/990pJSdGtt96qZ5991nnWn52drU2bNrmllqqAUuWnn35y1iidPmgPHDhQy5cvl9VqVVFRkWbPnn3O9dlsNvXu3VsDBgzQuHHjXOa1bdtW06dP14ABA1RUVKSEhAT5+fmdsy+bqgCRkZGht99+W/PmzdONN96oxo0bS5IsFovL8jfffLNuvvlmnThxQlu3btXy5cs1Z84cderUScHBwc7X98u2OZWVlTp8+LCaNWtWrfcLwNlxqwjwcn369NHNN9+sN954w3mb4vPPP9fJkyd1//33u9yqqAotv3XF5UL9OhC9+eab8vPz0w033OCcduedd+ro0aOaO3eurrzySl1//fXnXJ/ZbFarVq30+uuv6/Dhw2fMr3pCKTIyUkFBQbrmmmv07bffKiYmxvmvY8eOWrBggfN92b59u7p166bf/e53ztDy+eefq6SkxHkV5G9/+5sGDx4sh8OhwMBA9ezZU5MnT5Yk7du3z/l61q1bd8brtdlsv/maAJwfV1wAHzBt2jT169dP6enpWrVqlaKjo9WgQQM98cQTGjVqlCoqKrRy5Up9+OGHkqTjx4/Xeg2ff/65pk+frj/84Q8qKCjQ/PnzNXjwYF155ZXOZcLDw3XjjTfq3//+t8aPH3/edaampmr48OEaNGiQ7r33Xl199dWy2+3atm2bli1bprvvvlsdOnSQJD300EMaO3asJkyYoH79+slms2np0qXauXOnkpKSJEmxsbHasGGDXnrpJbVv315ffvmlFi1aJD8/P2e7E4vFohdeeEFTpkxRv379VFlZqSVLligkJETdu3dXSEiIBg4cqAULFqi8vFzdunXTF198oQULFqhbt266+eab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+4tbRR5nMpmUkJCgZ555Rj179nQ58+nVq5f+9a9/6cYbb1SjRo1qvO6GDRvq6NGjkqTExETt2LFDa9eu1alTp/Tjjz/qgQce0GOPPVZrrwW/rWvXrmrevLmmTp2qr776SpWVlSorK9PatWv13Xff6ZZbbpEkvfDCC9q9e7dOnDihuXPnKiIi4qLbHJlMJg0ePFhPP/20Dhw44Fy3zWarhVfm26qzX9u3b6/33ntP5eXl+umnn7R8+fI6qa1nz546duyYlixZooqKCv3888+aPHmyxo8fzwGwFqxbt05+fn5KTExUWFiY819CQoIiIyO1bNmy8+77X35PX3HFFWrQoIHefPNNSaebCVS1gcT/R3CpB3r06KH/+7//c96frHLrrbdq796952zfcj6DBw/WU089pYkTJ+rSSy/VkiVL9Morr+jGG29U//79FRERQXCpQwEBAVqxYoVatmyppKQkdenSRbfccovWrl2rF154Qe3bt5ckXX/99UpJSVF8fLx++uknPffcc7VyKX/ChAmKiIjQ7bffrr59+yosLEwmk0n+/v4XvW5fVp39OnHiRB07dkzx8fG699571a9fvzqpLSgoSMuWLdPHH3+shIQE/e53v5PJZNKiRYvqZPvebsWKFUpMTDzrZ2jo0KFas2aNRo8e/Zv7/pff061atdK0adOUmZmpzp07KysrS4MGDaqrl2MYfg5vuOEFeIlevXrpwQcfdMuX1bZt2xQVFeVsD1FWVqbrr79eb7/9tq688spa3x4AuANXXAAfsXTpUmVkZKi8vFwnT57U/Pnz1a5dO0ILAEMhuAA+4pFHHtHRo0fVo0cPxcfHa/fu3Xruuec8XRYA1Ai3igAAgGFwxQUAABgGwQUAABgGwQUAABgGwQUAABgGXf4DcIvS0lI99dRT+uCDD1RaWqqgoCDFx8dr/PjxCgsL83R5AAyKKy4A3GL8+PE6fPiwcnJytGPHDq1evVoVFRUaOXKkc9wlAKgpggsAt9i+fbt69+7tHB25RYsWmjZtmq677jr9/PPPKisr0+zZs9WjRw9ZLBaNHz9eBw8edP7++++/r7vvvlsWi0XXXXedhg0bpu+++07S6V5/x48fr27duik+Pl6jR4/WN9984/zd1157TXfccYc6d+6sxMRErV271jlv+PDhevLJJ2W1WhUXF6fbbrtN69evr5s3BcBFI7gAcIs77rhDaWlpeuSRR7R+/Xrt2bNHLVu21GOPPabQ0FBNmzZNu3fv1sqVK/Xuu+8qKChIDz74oBwOh/bv36+//OUvGjt2rPLy8vThhx/K4XBo4cKFkk73AlxWVqaPPvpIH3zwgVq2bKm///3vkqSVK1fqscceU2pqqrZt26Zp06Zp1qxZeuedd5y1vfrqq5o+fbo+/vhj9enTRzNnztTJkyc98j4BqBnauABwi/T0dHXr1k3r16/XzJkzdfToUV1xxRX685//rPj4eL399tvasGGDmjdvLkmaNm2aunTposLCQkVGRurNN9/UFVdcobKyMu3fv1/NmjXTgQMHJJ0e2PDLL7/U6tWrFR8frzlz5jgHonz99dc1dOhQWSwWSZLFYtHQoUP18ssvq3fv3pKkvn376pprrpEkDRw4UM8884wOHTqkNm3a1PXbBKCGCC4A3MJkMql///7q37+/HA6HvvnmG61Zs0YPP/ywHnroIUnSkCFDXH7HbDbrhx9+UHR0tN544w29/PLL8vPzU2RkpMrKytSgwemvrDFjxqhhw4bKycnR7Nmzdfnll2vChAnq06ePDh48qMsvv9xlvZdddpnef/99589Vt68kOddpt9vd8j4AqF0EFwC1btOmTRo3bpw++OADhYSEyM/PTx06dNCECRO0efNmVVRUSJI2bNjgEiKKiop0+eWXa8OGDcrKytJLL72ktm3bSpIeffRRff3115Kkr776Sr169dKIESN09OhRrVixQuPHj9fWrVt12WWX6fvvv3ep5//+7/9ctgPAuGjjAqDWde3aVc2bN9fUqVP11VdfqbKyUmVlZVq7dq2+++473XbbbbrllluUkZGhw4cPq7KyUosWLdLgwYP1888/6+jRozKZTAoICJDD4VBubq5Wr16tyspKSacb3z788MM6dOiQgoKCFBQUpMaNG6thw4YaPHiwXnnlFeXl5clms2nr1q165ZVXdOedd3r4XQFQG7jiAqDWBQQEaMWKFVqwYIGSkpJ06NAh+fv7q1OnTnrhhRfUvn17Pf7443ryySc1YMAAlZWVqWPHjlqyZIlatmypgQMHavv27brjjjtkNpsVERGh++67T9nZ2aqoqNBDDz2k2bNn64477tDJkycVERGhzMxMNWrUSLfddpvKysqUnp6uvXv3qnXr1nr44Yc1YMAAT78tAGoBo0MDAADD4FYRAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwDIILAAAwjP8H0IrMnn5SW08AAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 8 } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }