{ "cells": [ { "cell_type": "markdown", "id": "13a92119-3271-4ce6-b054-755a2d3ab10f", "metadata": {}, "source": [ "### Q1. Aperçu des données" ] }, { "cell_type": "markdown", "id": "b37c8dc0-1259-40f3-8f36-27425a30ab06", "metadata": {}, "source": [ "- Importer le dataset Iris :" ] }, { "cell_type": "code", "execution_count": 1, "id": "e809c22f-e547-400f-9d11-ef505c1992cd", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "df = pd.read_csv(\"Iris.csv\")" ] }, { "cell_type": "markdown", "id": "1c376af3-68fa-445b-8c13-f33e862a648f", "metadata": {}, "source": [ "- Affichez les 10 premières et dernières lignes du dataset." ] }, { "cell_type": "code", "execution_count": 2, "id": "1c464a59-3c30-45b6-a6ae-b8cc6574b0f6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", "0 1 5.1 3.5 1.4 0.2 Iris-setosa\n", "1 2 4.9 3.0 1.4 0.2 Iris-setosa\n", "2 3 4.7 3.2 1.3 0.2 Iris-setosa\n", "3 4 4.6 3.1 1.5 0.2 Iris-setosa\n", "4 5 5.0 3.6 1.4 0.2 Iris-setosa\n", "5 6 5.4 3.9 1.7 0.4 Iris-setosa\n", "6 7 4.6 3.4 1.4 0.3 Iris-setosa\n", "7 8 5.0 3.4 1.5 0.2 Iris-setosa\n", "8 9 4.4 2.9 1.4 0.2 Iris-setosa\n", "9 10 4.9 3.1 1.5 0.1 Iris-setosa\n", " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \\\n", "140 141 6.7 3.1 5.6 2.4 \n", "141 142 6.9 3.1 5.1 2.3 \n", "142 143 5.8 2.7 5.1 1.9 \n", "143 144 6.8 3.2 5.9 2.3 \n", "144 145 6.7 3.3 5.7 2.5 \n", "145 146 6.7 3.0 5.2 2.3 \n", "146 147 6.3 2.5 5.0 1.9 \n", "147 148 6.5 3.0 5.2 2.0 \n", "148 149 6.2 3.4 5.4 2.3 \n", "149 150 5.9 3.0 5.1 1.8 \n", "\n", " Species \n", "140 Iris-virginica \n", "141 Iris-virginica \n", "142 Iris-virginica \n", "143 Iris-virginica \n", "144 Iris-virginica \n", "145 Iris-virginica \n", "146 Iris-virginica \n", "147 Iris-virginica \n", "148 Iris-virginica \n", "149 Iris-virginica \n" ] } ], "source": [ "print(df.head(10))\n", "print(df.tail(10))" ] }, { "cell_type": "markdown", "id": "d0504306-d3df-4bc4-92e1-feea82cabd4e", "metadata": {}, "source": [ "- Dimension et les types de données" ] }, { "cell_type": "code", "execution_count": 3, "id": "3ea41285-b630-4c53-9193-f8d71d1af998", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimension du dataset : (150, 6)\n", "Types de données : Id int64\n", "SepalLengthCm float64\n", "SepalWidthCm float64\n", "PetalLengthCm float64\n", "PetalWidthCm float64\n", "Species object\n", "dtype: object\n" ] } ], "source": [ "print(\"Dimension du dataset :\", df.shape)\n", "print(\"Types de données :\", df.dtypes)\n", "# df.info() " ] }, { "cell_type": "markdown", "id": "122059f4-0f3f-4858-b2dc-569743f96aae", "metadata": { "scrolled": true }, "source": [ "### Q2. Statistiques descriptives" ] }, { "cell_type": "markdown", "id": "d79930a6-0cfb-43f2-a62f-d3dde78d0540", "metadata": {}, "source": [ "- Statistiques descriptives pour les colonnes numériques" ] }, { "cell_type": "code", "execution_count": 4, "id": "51217db3-1c1b-4d28-a649-c31b683d0c30", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCm
count150.000000150.000000150.000000150.000000150.000000
mean75.5000005.8433333.0540003.7586671.198667
std43.4453680.8280660.4335941.7644200.763161
min1.0000004.3000002.0000001.0000000.100000
25%38.2500005.1000002.8000001.6000000.300000
50%75.5000005.8000003.0000004.3500001.300000
75%112.7500006.4000003.3000005.1000001.800000
max150.0000007.9000004.4000006.9000002.500000
\n", "
" ], "text/plain": [ " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm\n", "count 150.000000 150.000000 150.000000 150.000000 150.000000\n", "mean 75.500000 5.843333 3.054000 3.758667 1.198667\n", "std 43.445368 0.828066 0.433594 1.764420 0.763161\n", "min 1.000000 4.300000 2.000000 1.000000 0.100000\n", "25% 38.250000 5.100000 2.800000 1.600000 0.300000\n", "50% 75.500000 5.800000 3.000000 4.350000 1.300000\n", "75% 112.750000 6.400000 3.300000 5.100000 1.800000\n", "max 150.000000 7.900000 4.400000 6.900000 2.500000" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "markdown", "id": "b8dba523-c9be-4f09-be11-78989cd05463", "metadata": {}, "source": [ "- Table montrant la répartition des échantillons par espèce de fleur" ] }, { "cell_type": "code", "execution_count": 5, "id": "970f0251-40b2-408c-b157-32d4a94278ab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Species\n", "Iris-setosa 50\n", "Iris-versicolor 50\n", "Iris-virginica 50\n", "Name: count, dtype: int64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Species'].value_counts()" ] }, { "cell_type": "markdown", "id": "c49825cf-f3aa-4d8b-a8d4-f8ca0e6a6002", "metadata": {}, "source": [ "### Q3. Vérification des données manquantes" ] }, { "cell_type": "markdown", "id": "b91899ed-df3f-407d-97c1-d07618e20015", "metadata": {}, "source": [ "- Vérifiez si le dataset contient des valeurs manquantes" ] }, { "cell_type": "code", "execution_count": 6, "id": "6cef84e0-799e-4b21-8624-cf55672dfd72", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Id 0\n", "SepalLengthCm 0\n", "SepalWidthCm 0\n", "PetalLengthCm 0\n", "PetalWidthCm 0\n", "Species 0\n", "dtype: int64" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isnull().sum()" ] }, { "cell_type": "markdown", "id": "eb900f96-9dd4-495c-aaa4-b1e39b57a705", "metadata": {}, "source": [ "- Il n' y a de valeurs manquantes," ] }, { "cell_type": "markdown", "id": "36c10b4e-05a6-44ff-8148-1b7f9c496122", "metadata": {}, "source": [ "### Q4. Visualisation exploratoire" ] }, { "cell_type": "markdown", "id": "db91a5ca-54fe-44f7-9859-cf7db6444eca", "metadata": {}, "source": [ "1. histogramme pour visualiser la répartition de la longueur des sépales.\n", "- Solution 1" ] }, { "cell_type": "code", "execution_count": 7, "id": "df482557-886f-40b1-9144-ee882d56ea94", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAHICAYAAABZM3D8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIOklEQVR4nO3dd3RU1f7+8WcgPaQQICSB0EIoIoqAKNJLqCJFBQU1FEW9KCgqiI0AelG8KlbQq4KKqKAU9UovIgheKQHlIgQMPYBSEgIhDGT//uCb+TFpJJNJOeT9WmsW6+zZ55zPPnMm83DKjM0YYwQAAGBh5Uq6AAAAgMIi0AAAAMsj0AAAAMsj0AAAAMsj0AAAAMsj0AAAAMsj0AAAAMsj0AAAAMsj0AAASpzdbtfLL7+s7777rqRLgUURaFDs4uLiZLPZimVd7du3V/v27R3Tq1evls1m09dff10s6x88eLBq1apVLOvKj8zxr1692i3L27t3r2w2m2bOnFkqlwfrbNOnn35aH374oW6++eYiX1dpe1/CPQg0KJSZM2fKZrM5Hj4+PoqIiFDXrl311ltv6fTp025Zz+HDhxUXF6f4+Hi3LM+dSnNtgBUsXLhQs2bN0uLFi1WlSpWSLgcWRaCBW0ycOFGfffaZpk2bpkcffVSS9Nhjj6lx48batm2bU9/nnntOaWlpBVr+4cOHNWHChAKHhqVLl2rp0qUFmqeg8qrt3//+t3bu3Fmk6wesbu/evVq0aJHq1q1b0qXAwjxKugBcHbp3767mzZs7pseNG6eVK1fq1ltv1W233aYdO3bI19dXkuTh4SEPj6Ld9c6ePSs/Pz95eXkV6XquxNPTs0TXj6vLuXPn5OXlpXLlrq7/i44aNaqkS8BV4Op6V6BU6dixo55//nnt27dPs2bNcrTndA3NsmXL1Lp1awUHB6tChQqqX7++nnnmGUmXrvu48cYbJUlDhgxxnN7KvCagffv2uvbaa7Vp0ya1bdtWfn5+jnmzXkOT6eLFi3rmmWcUFhYmf39/3XbbbTpw4IBTn1q1amnw4MHZ5r18mVeqLadz9WfOnNETTzyhyMhIeXt7q379+vrXv/6lrD98b7PZ9Mgjj2jBggW69tpr5e3trUaNGmnx4sU5b/AsDh48qD59+sjf31+hoaF6/PHHlZ6enmPfX375Rd26dVNQUJD8/PzUrl07rVu3Ll/ryWrbtm0aPHiw6tSpIx8fH4WFhWno0KE6fvy4S8uTpJUrV6pNmzby9/dXcHCwevfurR07djj1ydyvdu/ercGDBys4OFhBQUEaMmSIzp4969Q3LS1NI0eOVOXKlRUQEKDbbrtNhw4dks1mU1xcnKNfbtda5HYd2KxZs9SsWTP5+voqJCREd911l0v7lfT/r3f68ssv9dxzz6latWry8/NTSkpKrtvp1KlTGjx4sIKCghQcHKzY2FidOnUqx75//PGH7rjjDoWEhMjHx0fNmzfXt99+69THbrdrwoQJio6Olo+PjypVqqTWrVtr2bJludZQkPnyU0Pmae01a9bowQcfVKVKlRQYGKj77rtPJ0+edOq7cOFC9ezZUxEREfL29lZUVJQmTZqkixcv5lmvJGVkZGjq1Klq1KiRfHx8VLVqVT344IPZ1rFx40Z17dpVlStXlq+vr2rXrq2hQ4decfkoehyhQZG699579cwzz2jp0qV64IEHcuyzfft23Xrrrbruuus0ceJEeXt7a/fu3Y4P1IYNG2rixIl64YUXNHz4cLVp00aSdMsttziWcfz4cXXv3l133XWX7rnnHlWtWjXPul566SXZbDaNHTtWx44d09SpU9W5c2fFx8c7jiTlR35qu5wxRrfddptWrVqlYcOGqUmTJlqyZImeeuopHTp0SG+88YZT/7Vr12revHn6xz/+oYCAAL311lu6/fbbtX//flWqVCnXutLS0tSpUyft379fI0eOVEREhD777DOtXLkyW9+VK1eqe/fuatasmcaPH69y5cppxowZ6tixo3766Se1aNEi39tDuhRO//zzTw0ZMkRhYWHavn27PvjgA23fvl0bNmwo8AXhy5cvV/fu3VWnTh3FxcUpLS1Nb7/9tlq1aqXNmzdnCxz9+/dX7dq1NXnyZG3evFkffvihQkND9corrzj6DB48WHPmzNG9996rm2++WT/++KN69uxZoLqyeumll/T888+rf//+uv/++/XXX3/p7bffVtu2bbVlyxYFBwe7tNxJkybJy8tLTz75pNLT03M96miMUe/evbV27Vo99NBDatiwoebPn6/Y2Nhsfbdv365WrVqpWrVqevrpp+Xv7685c+aoT58++uabb9S3b19Jl4Lb5MmTdf/996tFixZKSUnRxo0btXnzZsXExORac37my28NmR555BEFBwcrLi5OO3fu1LRp07Rv3z5H8JMuhZ8KFSpo9OjRqlChglauXKkXXnhBKSkpevXVV/Pczg8++KBmzpypIUOGaOTIkUpMTNQ777yjLVu2aN26dfL09NSxY8fUpUsXValSRU8//bSCg4O1d+9ezZs3L89lo5gYoBBmzJhhJJlff/011z5BQUHmhhtucEyPHz/eXL7rvfHGG0aS+euvv3Jdxq+//mokmRkzZmR7rl27dkaSmT59eo7PtWvXzjG9atUqI8lUq1bNpKSkONrnzJljJJk333zT0VazZk0TGxt7xWXmVVtsbKypWbOmY3rBggVGknnxxRed+t1xxx3GZrOZ3bt3O9okGS8vL6e2rVu3Gknm7bffzrauy02dOtVIMnPmzHG0nTlzxtStW9dIMqtWrTLGGJORkWGio6NN165dTUZGhqPv2bNnTe3atU1MTEye60lMTMw29rNnz2br98UXXxhJZs2aNQVeXpMmTUxoaKg5fvy4o23r1q2mXLly5r777nO0Ze5XQ4cOdVpm3759TaVKlRzTmzZtMpLMY4895tRv8ODBRpIZP368oy3r65d1XZn27t1rypcvb1566SWnfr/99pvx8PBwas/vfpW5r9apUyfHbZpV5r41ZcoUR9uFCxdMmzZtsm3TTp06mcaNG5tz58452jIyMswtt9xioqOjHW3XX3+96dmz5xXXnVV+5stvDZl/Y5o1a2bOnz/vaJ8yZYqRZBYuXOhoy2k7Pfjgg8bPz89pPVlf159++slIMp9//rnTvIsXL3Zqnz9//hX/3qHkcMoJRa5ChQp53u2U+T/XhQsXKiMjw6V1eHt7a8iQIfnuf9999ykgIMAxfccddyg8PFw//PCDS+vPrx9++EHly5fXyJEjndqfeOIJGWO0aNEip/bOnTsrKirKMX3dddcpMDBQf/755xXXEx4erjvuuMPR5ufnp+HDhzv1i4+PV0JCggYOHKjjx4/r77//1t9//60zZ86oU6dOWrNmTYFfk8uPcJ07d05///2341bczZs3F2hZSUlJio+P1+DBgxUSEuJov+666xQTE5Pj6/XQQw85Tbdp00bHjx93nKrJPGX3j3/8w6lf5sXsrpg3b54yMjLUv39/xzb8+++/FRYWpujoaK1atcrlZcfGxubrqOEPP/wgDw8PPfzww4628uXLZxvXiRMntHLlSvXv31+nT5921Hr8+HF17dpVCQkJOnTokKRL783t27crISGhQDVfab6C1JBp+PDhTtekPfzww/Lw8HDaBy7fTpnLbdOmjc6ePas//vgj13rnzp2roKAgxcTEOL1+zZo1U4UKFRyvX+bfqu+//152u71A2wRFj0CDIpeamuoUHrIaMGCAWrVqpfvvv19Vq1bVXXfdpTlz5hTog7RatWoFugA4Ojraadpms6lu3brau3dvvpfhin379ikiIiLb9mjYsKHj+cvVqFEj2zIqVqyY7bx+TuupW7duttM79evXd5rO/MCJjY1VlSpVnB4ffvih0tPTlZycnL/B/Z8TJ05o1KhRqlq1qnx9fVWlShXVrl1bkgq8rMztkbVu6dI2ywxfl8u6zSpWrChJjm22b98+lStXzlFTpsLcYZOQkCBjjKKjo7Ntxx07dujYsWMuLztrnbnZt2+fwsPDVaFCBaf2rNtu9+7dMsbo+eefz1br+PHjJclR78SJE3Xq1CnVq1dPjRs31lNPPZXtrsWcXGm+gtSQKet7tkKFCgoPD3d6z27fvl19+/ZVUFCQAgMDVaVKFd1zzz2S8t73EhISlJycrNDQ0Gz1pKamOmpp166dbr/9dk2YMEGVK1dW7969NWPGjFyvTUPx4hoaFKmDBw8qOTk5zw8LX19frVmzRqtWrdJ//vMfLV68WF999ZU6duyopUuXqnz58ldcT0Gue8mv3K71uHjxYr5qcofc1mOyXEDsqszQ+Oqrr6pJkyY59sn6AXkl/fv3188//6ynnnpKTZo0UYUKFZSRkaFu3bq5fASuINy5zfLaBy6XkZEhm82mRYsW5bj+y7dhQfcrd+/bma/Bk08+qa5du+bYJ/P92rZtW+3Zs0cLFy7U0qVL9eGHH+qNN97Q9OnTdf/99+e6jivNV5Aa8uvUqVNq166dAgMDNXHiREVFRcnHx0ebN2/W2LFj89z3MjIyFBoaqs8//zzH5zO/GyfzSzk3bNig7777TkuWLNHQoUP12muvacOGDQV+r8C9CDQoUp999pkk5fpHK1O5cuXUqVMnderUSa+//rr++c9/6tlnn9WqVavUuXNnt3+zcNZD4cYY7d69W9ddd52jrWLFijneIbJv3z7VqVPHMV2Q2mrWrKnly5fr9OnTTkdpMg+H16xZM9/LutJ6fv/9dxljnOrL+p04maezAgMD1blz50Kv9+TJk1qxYoUmTJigF154wdFe0FMWmTK3R07f5fPHH3+ocuXK8vf3L/AyMzIylJiY6PS//t27d2frm9c+cLmoqCgZY1S7dm3Vq1cvz/Xnd78qqJo1a2rFihVKTU11+mDNuu0y1+Hp6Zmv1zwkJERDhgzRkCFDlJqaqrZt2youLi7PQHOl+Qpag3RpH+rQoYNjOjU1VUlJSerRo4ekS3eFHT9+XPPmzVPbtm0d/RITE6+47KioKC1fvlytWrXKV4C8+eabdfPNN+ull17S7NmzNWjQIH355ZdX3CYoWpxyQpFZuXKlJk2apNq1a2vQoEG59jtx4kS2tsyjBZmHcjM/tHK7BbWgPv30U6frer7++mslJSWpe/fujraoqCht2LBB58+fd7R9//332W7DLUhtPXr00MWLF/XOO+84tb/xxhuy2WxO6y+MHj166PDhw04/8XD27Fl98MEHTv2aNWumqKgo/etf/1Jqamq25fz1118FWm/mEYasR0OmTp1aoOVkCg8PV5MmTfTJJ584bd/ff/9dS5cudXyYFURmuH7vvfec2t9+++1sfaOiopScnOx0uiQpKUnz58936tevXz+VL19eEyZMyDZ2Y4zTLev53a8KqkePHrpw4YKmTZvmaLt48WK2cYWGhqp9+/Z6//33lZSUlG05l7/mWW+1r1ChgurWrXvFUyxXmq8gNWT64IMPnK5bmTZtmi5cuOB4z+S0750/fz7b65yT/v376+LFi5o0aVK25y5cuODY906ePJnt9c36twolhyM0cItFixbpjz/+0IULF3T06FGtXLlSy5YtU82aNfXtt9/Kx8cn13knTpyoNWvWqGfPnqpZs6aOHTum9957T9WrV1fr1q0lXfoQCA4O1vTp0xUQECB/f3/ddNNN+b6+IKuQkBC1bt1aQ4YM0dGjRzV16lTVrVvX6dby+++/X19//bW6deum/v37a8+ePZo1a5bTRboFra1Xr17q0KGDnn32We3du1fXX3+9li5dqoULF+qxxx7LtmxXPfDAA3rnnXd03333adOmTQoPD9dnn30mPz8/p37lypXThx9+qO7du6tRo0YaMmSIqlWrpkOHDmnVqlUKDAws0I8FBgYGqm3btpoyZYrsdruqVaumpUuX5ut/ybl59dVX1b17d7Vs2VLDhg1z3LYdFBTk9J0x+dWsWTPdfvvtmjp1qo4fP+64bXvXrl2SnI+43XXXXRo7dqz69u2rkSNH6uzZs5o2bZrq1avndIFzVFSUXnzxRY0bN0579+5Vnz59FBAQoMTERM2fP1/Dhw/Xk08+KSn/+1VB9erVS61atdLTTz+tvXv36pprrtG8efNyvHbk3XffVevWrdW4cWM98MADqlOnjo4ePar169fr4MGD2rp1qyTpmmuuUfv27dWsWTOFhIRo48aN+vrrr/XII4/kWUt+5stvDZnOnz+vTp06qX///tq5c6fee+89tW7dWrfddpukS1+VULFiRcXGxmrkyJGy2Wz67LPP8nWqsV27dnrwwQc1efJkxcfHq0uXLvL09FRCQoLmzp2rN998U3fccYc++eQTvffee+rbt6+ioqJ0+vRp/fvf/1ZgYKBL4RpuVgJ3VuEqknlLZebDy8vLhIWFmZiYGPPmm2863RqdKestrytWrDC9e/c2ERERxsvLy0RERJi7777b7Nq1y2m+hQsXmmuuucZ4eHg43Ybarl0706hRoxzry+1W2C+++MKMGzfOhIaGGl9fX9OzZ0+zb9++bPO/9tprplq1asbb29u0atXKbNy4Mdsy86otp9t+T58+bR5//HETERFhPD09TXR0tHn11Vedbps25tJt2yNGjMhWU263/Wa1b98+c9tttxk/Pz9TuXJlM2rUKMdtqJm3bWfasmWL6devn6lUqZLx9vY2NWvWNP379zcrVqzIcx053WZ98OBB07dvXxMcHGyCgoLMnXfeaQ4fPpztluj8Ls8YY5YvX25atWplfH19TWBgoOnVq5f53//+59Qnc7/Kevt/5j6amJjoaDtz5owZMWKECQkJMRUqVDB9+vQxO3fuNJLMyy+/7DT/0qVLzbXXXmu8vLxM/fr1zaxZs7Ltw5m++eYb07p1a+Pv72/8/f1NgwYNzIgRI8zOnTud+uVnv8rcV+fOnZvnNrvc8ePHzb333msCAwNNUFCQuffee82WLVty3KZ79uwx9913nwkLCzOenp6mWrVq5tZbbzVff/21o8+LL75oWrRoYYKDg42vr69p0KCBeemll5xun85JfufLTw2Zr9+PP/5ohg8fbipWrGgqVKhgBg0a5HQrvzHGrFu3ztx8883G19fXREREmDFjxpglS5Zk2+dzux3/gw8+MM2aNTO+vr4mICDANG7c2IwZM8YcPnzYGGPM5s2bzd13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AFgegQYAAFgegQYAAFheiQeaNWvWqFevXoqIiJDNZtOCBQucnjfG6IUXXlB4eLh8fX3VuXNnJSQklEyxAACgVCrxQHPmzBldf/31evfdd3N8fsqUKXrrrbc0ffp0/fLLL/L391fXrl117ty5Yq4UAACUVh4lXUD37t3VvXv3HJ8zxmjq1Kl67rnn1Lt3b0nSp59+qqpVq2rBggW66667irNUAABQSpV4oMlLYmKijhw5os6dOzvagoKCdNNNN2n9+vU5Bpr09HSlp6c7plNSUiRJdrtddru96It2s8ya3Vm7r6/bFlWkfH3tTv+WFWV13BJjv/zf0qgo/oQWxd84qyirY8/vuAu6XWzGGONyVW5ms9k0f/589enTR5L0888/q1WrVjp8+LDCw8Md/fr37y+bzaavvvoq2zLi4uI0YcKEbO2zZ8+Wn59fkdUOAADc5+zZsxo4cKCSk5MVGBh4xf6l+giNK8aNG6fRo0c7plNSUhQZGakuXbrka4OUNna7XcuWLVNMTIw8PT3dssygILcspsj5+tr18cfLNHRojNLS3DN2Kyir45YYe2kfe3Ky+5dZFH/jrKKsjj2/4848w5JfpTrQhIWFSZKOHj3qdITm6NGjatKkSY7zeHt7y9vbO1u7p6enpXcYd9afluaWxRSbtDTPUvsHviiV1XFLjL20jr0o/4Ra/W90YZTVsV9p3AXdJiV+l1NeateurbCwMK1YscLRlpKSol9++UUtW7YswcoAAEBpUuJHaFJTU7V7927HdGJiouLj4xUSEqIaNWroscce04svvqjo6GjVrl1bzz//vCIiIhzX2QAAAJR4oNm4caM6dOjgmM68/iU2NlYzZ87UmDFjdObMGQ0fPlynTp1S69attXjxYvn4+JRUyQAAoJQp8UDTvn175XWjlc1m08SJEzVx4sRirAoAAFhJqb6GBgAAID8INAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINIVksxXtI/N3l4KC3LdMAACuNgQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAABgeQQaAEC+2GzufwQFXVp2UFDRLN+KimI7FPWjNCDQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyv1gSYuLk42m83p0aBBg5IuCwAAlCIeJV1AfjRq1EjLly93THt4WKJsAABQTCyRDDw8PBQWFlbSZQAAgFLKEoEmISFBERER8vHxUcuWLTV58mTVqFEjx77p6elKT093TKekpEiS7Ha77Ha722vz9XX7IrMs3+70b1lSVsdeVsctMfbL/y0rinrcRfBn320yP5OyfjYV9edKUSjIds5t3Ln1yy+bMcYUaI5itmjRIqWmpqp+/fpKSkrShAkTdOjQIf3+++8KCAjI1j8uLk4TJkzI1j579mz5+fkVR8kAAKCQzp49q4EDByo5OVmBgYFX7F/qA01Wp06dUs2aNfX6669r2LBh2Z7P6QhNZGSk/v7773xtkILK/KXYouLra9fHHy/T0KExSkvzLNqVlTJldexlddwSYy+LYy+r45aurrEnJ+e/r91u17JlyxQTEyNPz9zHnZKSosqVK+c70FjilNPlgoODVa9ePe3evTvH5729veXt7Z2t3dPTM88N56q0NLcvMpf1eFp+h3dVWR17WR23xNjL4tjL6rilq2Psrny8XulzuaCf2aX+tu2sUlNTtWfPHoWHh5d0KQAAoJQo9YHmySef1I8//qi9e/fq559/Vt++fVW+fHndfffdJV0aAAAoJUr9KaeDBw/q7rvv1vHjx1WlShW1bt1aGzZsUJUqVUq6NAAAUEqU+kDz5ZdflnQJAACglCv1p5wAAACuhEADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAsj0ADAAAszzKB5t1331WtWrXk4+Ojm266Sf/9739LuiQAAFBKWCLQfPXVVxo9erTGjx+vzZs36/rrr1fXrl117Nixki4NAACUApYINK+//roeeOABDRkyRNdcc42mT58uPz8/ffzxxyVdGgAAKAU8SrqAKzl//rw2bdqkcePGOdrKlSunzp07a/369dn6p6enKz093TGdnJwsSTpx4oTsdrvb6/PxcfsisyzfrrNnz8rH57iM8SzalZUyZXXsZXXcEmMvi2Mvq+OWrq6xHz+e/752+6VxHz9+XJ6euY/79OnTkiRjTP4WbEq5Q4cOGUnm559/dmp/6qmnTIsWLbL1Hz9+vJHEgwcPHjx48LgKHgcOHMhXXij1R2gKaty4cRo9erRjOiMjQydOnFClSpVks9lKsDLXpKSkKDIyUgcOHFBgYGBJl1OsyurYy+q4JcZeFsdeVsctld2x53fcxhidPn1aERER+VpuqQ80lStXVvny5XX06FGn9qNHjyosLCxbf29vb3l7ezu1BQcHF2WJxSIwMLBM7fCXK6tjL6vjlhh7WRx7WR23VHbHnp9xBwUF5Xt5pf6iYC8vLzVr1kwrVqxwtGVkZGjFihVq2bJlCVYGAABKi1J/hEaSRo8erdjYWDVv3lwtWrTQ1KlTdebMGQ0ZMqSkSwMAAKWAJQLNgAED9Ndff+mFF17QkSNH1KRJEy1evFhVq1Yt6dKKnLe3t8aPH5/tNFpZUFbHXlbHLTH2sjj2sjpuqeyOvajGbTMmv/dDAQAAlE6l/hoaAACAKyHQAAAAyyPQAAAAyyPQAAAAyyPQlCIvv/yybDabHnvssVz7zJw5UzabzenhU9Q/KFUE4uLiso2jQYMGec4zd+5cNWjQQD4+PmrcuLF++OGHYqrWfQo67qvl9c506NAh3XPPPapUqZJ8fX3VuHFjbdy4Mc95Vq9eraZNm8rb21t169bVzJkzi6dYNyvo2FevXp3ttbfZbDpy5EgxVl04tWrVynEMI0aMyHWeq+F9LhV87FfLe/3ixYt6/vnnVbt2bfn6+ioqKkqTJk264u8xueN9bonbtsuCX3/9Ve+//76uu+66K/YNDAzUzp07HdNW/EkHSWrUqJGWL1/umPbwyH13/Pnnn3X33Xdr8uTJuvXWWzV79mz16dNHmzdv1rXXXlsc5bpNQcYtXT2v98mTJ9WqVSt16NBBixYtUpUqVZSQkKCKFSvmOk9iYqJ69uyphx56SJ9//rlWrFih+++/X+Hh4eratWsxVl84row9086dO52+TTU0NLQoS3WrX3/9VRcvXnRM//7774qJidGdd96ZY/+r6X1e0LFLV8d7/ZVXXtG0adP0ySefqFGjRtq4caOGDBmioKAgjRw5Msd53PY+L/SvR6LQTp8+baKjo82yZctMu3btzKhRo3LtO2PGDBMUFFRstRWV8ePHm+uvvz7f/fv372969uzp1HbTTTeZBx980M2VFa2Cjvtqeb2NMWbs2LGmdevWBZpnzJgxplGjRk5tAwYMMF27dnVnaUXOlbGvWrXKSDInT54smqJKwKhRo0xUVJTJyMjI8fmr5X2ekyuN/Wp5r/fs2dMMHTrUqa1fv35m0KBBuc7jrvc5p5xKgREjRqhnz57q3LlzvvqnpqaqZs2aioyMVO/evbV9+/YirrBoJCQkKCIiQnXq1NGgQYO0f//+XPuuX78+2/bp2rWr1q9fX9Rlul1Bxi1dPa/3t99+q+bNm+vOO+9UaGiobrjhBv373//Oc56r5XV3ZeyZmjRpovDwcMXExGjdunVFXGnROX/+vGbNmqWhQ4fmeuThanm9s8rP2KWr471+yy23aMWKFdq1a5ckaevWrVq7dq26d++e6zzuet0JNCXsyy+/1ObNmzV58uR89a9fv74+/vhjLVy4ULNmzVJGRoZuueUWHTx4sIgrda+bbrpJM2fO1OLFizVt2jQlJiaqTZs2On36dI79jxw5ku2boatWrWqp6wmkgo/7anm9JenPP//UtGnTFB0drSVLlujhhx/WyJEj9cknn+Q6T26ve0pKitLS0oq6ZLdxZezh4eGaPn26vvnmG33zzTeKjIxU+/bttXnz5mKs3H0WLFigU6dOafDgwbn2uVre51nlZ+xXy3v96aef1l133aUGDRrI09NTN9xwgx577DENGjQo13nc9j4v0PEcuNX+/ftNaGio2bp1q6PtSqecsjp//ryJiooyzz33XBFUWHxOnjxpAgMDzYcffpjj856enmb27NlObe+++64JDQ0tjvKKzJXGnZWVX29PT0/TsmVLp7ZHH33U3HzzzbnOEx0dbf75z386tf3nP/8xkszZs2eLpM6i4MrYc9K2bVtzzz33uLO0YtOlSxdz66235tnnan2f52fsWVn1vf7FF1+Y6tWrmy+++MJs27bNfPrppyYkJMTMnDkz13nc9T7nCE0J2rRpk44dO6amTZvKw8NDHh4e+vHHH/XWW2/Jw8PD6YKy3GQm4N27dxdDxUUnODhY9erVy3UcYWFhOnr0qFPb0aNHFRYWVhzlFZkrjTsrK7/e4eHhuuaaa5zaGjZsmOcpt9xe98DAQPn6+hZJnUXBlbHnpEWLFpZ87fft26fly5fr/vvvz7Pf1fg+z+/Ys7Lqe/2pp55yHKVp3Lix7r33Xj3++ON5noVw1/ucQFOCOnXqpN9++03x8fGOR/PmzTVo0CDFx8erfPnyV1zGxYsX9dtvvyk8PLwYKi46qamp2rNnT67jaNmypVasWOHUtmzZMrVs2bI4yisyVxp3VlZ+vVu1auV0B4ck7dq1SzVr1sx1nqvldXdl7DmJj4+35Gs/Y8YMhYaGqmfPnnn2u1pe78vld+xZWfW9fvbsWZUr5xwtypcvr4yMjFzncdvr7vJxJRSJrKec7r33XvP00087pidMmGCWLFli9uzZYzZt2mTuuusu4+PjY7Zv314C1bruiSeeMKtXrzaJiYlm3bp1pnPnzqZy5crm2LFjxpjs4163bp3x8PAw//rXv8yOHTvM+PHjjaenp/ntt99KagguKei4r5bX2xhj/vvf/xoPDw/z0ksvmYSEBPP5558bPz8/M2vWLEefp59+2tx7772O6T///NP4+fmZp556yuzYscO8++67pnz58mbx4sUlMQSXuTL2N954wyxYsMAkJCSY3377zYwaNcqUK1fOLF++vCSG4LKLFy+aGjVqmLFjx2Z77mp9n2cqyNivlvd6bGysqVatmvn+++9NYmKimTdvnqlcubIZM2aMo09Rvc8JNKVM1kDTrl07Exsb65h+7LHHTI0aNYyXl5epWrWq6dGjh9m8eXPxF1pIAwYMMOHh4cbLy8tUq1bNDBgwwOzevdvxfNZxG2PMnDlzTL169YyXl5dp1KiR+c9//lPMVRdeQcd9tbzemb777jtz7bXXGm9vb9OgQQPzwQcfOD0fGxtr2rVr59S2atUq06RJE+Pl5WXq1KljZsyYUXwFu1FBx/7KK6+YqKgo4+PjY0JCQkz79u3NypUri7nqwluyZImRZHbu3Jntuav1fZ6pIGO/Wt7rKSkpZtSoUaZGjRrGx8fH1KlTxzz77LMmPT3d0aeo3uc2Y67w9X0AAAClHNfQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQACjzTp48qQkTJigpKamkSwHgIgINgBJjs9m0YMGCEq3BGKPY2FilpaUVye/mFMcYP/roI3Xp0qVI1zF9+nT16tWrSNcBFAaBBnCzwYMHq0+fPiVdBvLp1VdfVWBgYJ6/BlyanTt3Ts8//7zGjx9fpOsZOnSoNm/erJ9++qlI1wO4yqOkCwBwdbHb7fL09CzpMvJtzJgxJV1CoXz99dcKDAxUq1atinQ9Xl5eGjhwoN566y21adOmSNcFuIIjNEAx+/HHH9WiRQt5e3srPDxcTz/9tC5cuOB4vn379ho5cqTGjBmjkJAQhYWFKS4uzmkZf/zxh1q3bi0fHx9dc801Wr58udOpjdWrV8tms+nUqVOOeeLj42Wz2bR3715H29q1a9WmTRv5+voqMjJSI0eO1JkzZxzP53S6JDg4WDNnzpQk7d27VzabTV999ZXatWsnHx8fff755zmOOyEhQW3btnXUvGzZsmx9Dhw4oP79+ys4OFghISHq3bu3U72rV69WixYt5O/vr+DgYLVq1Ur79u3LcX3nz5/XI488ovDwcPn4+KhmzZpOR2FOnTql+++/X1WqVFFgYKA6duyorVu3Op6Pi4tTkyZN9P777ysyMlJ+fn7q37+/kpOTHX1+/fVXxcTEqHLlygoKClK7du20efPmHOspijFK0pdffpnjqaCPP/5YjRo1cuxnjzzyiOM5m82m999/X7feeqv8/PzUsGFDrV+/Xrt371b79u3l7++vW265RXv27HFaZq9evfTtt98qLS0tzzECJYFAAxSjQ4cOqUePHrrxxhu1detWTZs2TR999JFefPFFp36ffPKJ/P399csvv2jKlCmaOHGiIwBcvHhRffr0kZ+fn3755Rd98MEHevbZZwtcy549e9StWzfdfvvt2rZtm7766iutXbvW6YMvv55++mmNGjVKO3bsUNeuXbM9n5GRoX79+snLy0u//PKLpk+frrFjxzr1sdvt6tq1qwICAvTTTz9p3bp1qlChgrp166bz58/rwoUL6tOnj9q1a6dt27Zp/fr1Gj58uGw2W441vfXWW/r22281Z84c7dy5U59//rlq1arleP7OO+/UsWPHtGjRIm3atElNmzZVp06ddOLECUef3bt3a86cOfruu++0ePFibdmyRf/4xz8cz58+fVqxsbFau3atNmzYoOjoaPXo0UOnT5/OsSZ3j1G6FEqbN2/u1DZt2jSNGDFCw4cP12+//aZvv/1WdevWdeozadIk3XfffYqPj1eDBg00cOBAPfjggxo3bpw2btwoY0y2faF58+a6cOGCfvnll1zrAUpMIX4lHEAOYmNjTe/evXN87plnnjH169c3GRkZjrZ3333XVKhQwVy8eNEYY0y7du1M69atnea78cYbzdixY40xxixatMh4eHiYpKQkx/PLli0zksz8+fONMcasWrXKSDInT5509NmyZYuRZBITE40xxgwbNswMHz7caT0//fSTKVeunElLSzPGGKdlZgoKCjIzZswwxhiTmJhoJJmpU6fmuU2WLFliPDw8zKFDhxxtixYtclr+Z599lm3bpKenG19fX7NkyRJz/PhxI8msXr06z3VlevTRR03Hjh2dlnf5OAMDA825c+ec2qOiosz7779vjDFm/Pjxpnz58ubgwYNONZcrV85p21/u4sWLJiAgwHz33XeOtqIc48mTJ40ks2bNGqf2iIgI8+yzz+Y6nyTz3HPPOabXr19vJJmPPvrI0fbFF18YHx+fbPNWrFjRzJw5M1/1AcWJIzRAMdqxY4datmzp9D/uVq1aKTU1VQcPHnS0XXfddU7zhYeH69ixY5KknTt3KjIyUmFhYY7nW7RoUeBatm7dqpkzZ6pChQqOR9euXZWRkaHExMQCLSvrEYKsduzYocjISEVERDjaWrZsma2e3bt3KyAgwFFPSEiIzp07pz179igkJESDBw9W165d1atXL7355pt53mY9ePBgxcfHq379+ho5cqSWLl3qtK7U1FRVqlTJafyJiYlOp1lq1KihatWqOdWckZGhnTt3SpKOHj2qBx54QNHR0QoKClJgYKBSU1O1f//+HGty9xgzT/34+Pg42o4dO6bDhw+rU6dOuc4nOe9jVatWlSQ1btzYqe3cuXNKSUlxms/X11dnz57Nc9lASeCiYKAUynpRrc1mU0ZGRr7nL1fu0v9VjDGONrvd7tQnNTVVDz74oEaOHJlt/ho1ajjWe/kyclqOJPn7++e7ttykpqaqWbNmOV6DU6VKFUnSjBkzNHLkSC1evFhfffWVnnvuOS1btkw333xztnmaNm2qxMRELVq0SMuXL1f//v3VuXNnff3110pNTVV4eLhWr16dbb7g4OB81xwbG6vjx4/rzTffVM2aNeXt7a2WLVvq/PnzxTLGSpUqyWaz6eTJk442X1/ffNV++T6WGbBzasu63504ccJRK1CaEGiAYtSwYUN98803MsY4PjDWrVungIAAVa9ePV/LqF+/vg4cOKCjR486/mf966+/OvXJ/MBJSkpSxYoVJV26KPhyTZs21f/+979s11ZkXc7lRwgSEhJc+t95w4YNdeDAASUlJTm+62XDhg3Z6vnqq68UGhqqwMDAXJd1ww036IYbbtC4cePUsmVLzZ49O8cPe0kKDAzUgAEDNGDAAN1xxx3q1q2bTpw4oaZNm+rIkSPy8PBwuq4mq/379+vw4cOOI0sbNmxQuXLlVL9+fUmXXrv33ntPPXr0kHTpgt+///471+W5e4xeXl665ppr9L///c/xPTQBAQGqVauWVqxYoQ4dOuS6Dlfs2bNH586d0w033ODW5QLuwCknoAgkJycrPj7e6XHgwAH94x//0IEDB/Too4/qjz/+0MKFCzV+/HiNHj3acVTlSmJiYhQVFaXY2Fht27ZN69at03PPPSfp//+vum7duoqMjFRcXJwSEhL0n//8R6+99prTcsaOHauff/5ZjzzyiOLj45WQkKCFCxc6XQjasWNHvfPOO9qyZYs2btyohx56yKVbsjt37qx69eopNjZWW7du1U8//ZTtQuZBgwapcuXK6t27t3766SclJiZq9erVGjlypA4ePKjExESNGzdO69ev1759+7R06VIlJCSoYcOGOa7z9ddf1xdffKE//vhDu3bt0ty5cxUWFqbg4GB17txZLVu2VJ8+fbR06VLt3btXP//8s5599llt3LjRsQwfHx+nmkeOHKn+/fs7TvdFR0frs88+044dO/TLL79o0KBBeR4hcfcYJalr165au3atU1tcXJxee+01vfXWW0pISNDmzZv19ttvX/F1upKffvpJderUUVRUVKGXBbhdCV/DA1x1YmNjjaRsj2HDhhljjFm9erW58cYbjZeXlwkLCzNjx441drvdMX+7du3MqFGjnJbZu3dvExsb65jesWOHadWqlfHy8jINGjQw3333nZFkFi9e7Oizdu1a07hxY+Pj42PatGlj5s6d63RRsDHG/Pe//zUxMTGmQoUKxt/f31x33XXmpZdecjx/6NAh06VLF+Pv72+io6PNDz/8kONFwVu2bLnidtm5c6dp3bq18fLyMvXq1TOLFy/OdtFxUlKSue+++0zlypWNt7e3qVOnjnnggQdMcnKyOXLkiOnTp48JDw83Xl5epmbNmuaFF15wXEyd1QcffGCaNGli/P39TWBgoOnUqZPZvHmz4/mUlBTz6KOPmoiICOPp6WkiIyPNoEGDzP79+40xly4Kvv766817771nIiIijI+Pj7njjjvMiRMnHMvYvHmzad68ufHx8THR0dFm7ty5pmbNmuaNN95w9CnKMRpjzPbt242vr685deqUU/v06dNN/fr1jaenpwkPDzePPvporjXl9DrmdGF5ly5dzOTJk3OtBShJNmOynCAHYDnr1q1T69attXv3bv737CZxcXFasGBBtlN1pdGdd96ppk2baty4cUW2ju3bt6tjx47atWuXgoKCimw9gKu4hgawoPnz56tChQqKjo7W7t27NWrUKLVq1YowU0a9+uqr+u6774p0HUlJSfr0008JMyi1CDSABZ0+fVpjx47V/v37VblyZXXu3DnbNTIoO2rVqqVHH320SNfRuXPnIl0+UFiccgIAAJbHXU4AAMDyCDQAAMDyCDQAAMDyCDQAAMDyCDQAAMDyCDQAAMDyCDQAAMDyCDQAAMDyCDQAAMDy/h/ytKo4YYRw7gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Histogramme pour visualiser la répartition de la langueur du spépal\n", "import matplotlib.pyplot as plt\n", "df['SepalLengthCm'].hist(bins=10, color='blue')\n", "plt.title(\"Distribution de la longueur des sépales\")\n", "plt.xlabel(\"Longueur des sépales (cm)\")\n", "plt.ylabel(\"Fréquence\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "db204778-3545-4895-b6b3-bb39a6cfed36", "metadata": {}, "source": [ "- Solution 2" ] }, { "cell_type": "code", "execution_count": 8, "id": "33dc0b1f-cc19-4d86-a043-82b76cc23df6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution de la longueur des sépales')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHHCAYAAABKudlQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/VklEQVR4nO3dd3wU1f7/8feGdNIIIY0aQg8EFBURpEgJxQKiiAIGELAgRaxcRZperljAgnCRKyCIXpVmo4amKEoREC6EYgDpJgIhBAIk5/eHv+zXJQlkQ5LNhNfz8djHgzl75sznzO6Yt7MzuzZjjBEAAIBFubm6AAAAgGtBmAEAAJZGmAEAAJZGmAEAAJZGmAEAAJZGmAEAAJZGmAEAAJZGmAEAAJZGmAEAuNTFixf1r3/9S1999ZWrS4FFEWZQrEaPHi2bzVYs22rVqpVatWplX169erVsNpu++OKLYtl+nz59VK1atWLZVn5kz3/16tWFMt7+/ftls9k0c+bMEjkerLNPX3jhBU2fPl233nprkW+rpB2XKByEGRTYzJkzZbPZ7A9vb29FRkYqLi5O77zzjs6cOVMo2zly5IhGjx6tLVu2FMp4hakk1wZYwaJFizRnzhwtWbJEFSpUcHU5sCjCDK7Z2LFjNXv2bE2ZMkWDBw+WJA0bNkwNGjTQtm3bHPq+9NJLOnfunFPjHzlyRGPGjHE6MCxbtkzLli1zah1nXam2Dz74QImJiUW6fcDq9u/fr8WLF6tGjRquLgUW5u7qAmB9HTt21E033WRfHjFihFauXKk777xTd999t3bu3CkfHx9Jkru7u9zdi/Ztl56eLl9fX3l6ehbpdq7Gw8PDpdtH6XL+/Hl5enrKza10/T/o0KFDXV0CSoHSdVSgxLjjjjs0cuRIHThwQHPmzLG353bNzPLly9W8eXMFBQXJz89PtWvX1j/+8Q9Jf13ncfPNN0uS+vbta/9IK/sagFatWql+/fratGmTWrRoIV9fX/u6l18zky0zM1P/+Mc/FB4errJly+ruu+/W77//7tCnWrVq6tOnT451/z7m1WrL7bP5s2fP6umnn1blypXl5eWl2rVr64033tDlP15vs9n05JNPauHChapfv768vLwUExOjJUuW5L7DL3Po0CF16dJFZcuWVWhoqJ566illZGTk2venn35Shw4dFBgYKF9fX7Vs2VLr1q3L13Yut23bNvXp00fVq1eXt7e3wsPD1a9fP6WkpBRoPElauXKlbr/9dpUtW1ZBQUG65557tHPnToc+2e+rvXv3qk+fPgoKClJgYKD69u2r9PR0h77nzp3TkCFDFBISIn9/f9199906fPiwbDabRo8ebe+X17UVeV33NWfOHDVu3Fg+Pj4KDg5Wjx49CvS+kv7v+qZPP/1UL730kipWrChfX1+lpqbmuZ9OnTqlPn36KDAwUEFBQYqPj9epU6dy7btr1y7dd999Cg4Olre3t2666SZ9+eWXDn0uXryoMWPGqGbNmvL29lb58uXVvHlzLV++PM8anFkvPzVkf5S9du1aPfrooypfvrwCAgL08MMP6+TJkw59Fy1apM6dOysyMlJeXl6Kjo7WuHHjlJmZecV6JSkrK0uTJk1STEyMvL29FRYWpkcffTTHNjZu3Ki4uDiFhITIx8dHUVFR6tev31XHR9HjzAyKTO/evfWPf/xDy5Yt04ABA3Lts2PHDt15552KjY3V2LFj5eXlpb1799r/mNatW1djx47Vyy+/rIEDB+r222+XJN122232MVJSUtSxY0f16NFDvXr1UlhY2BXrevXVV2Wz2fT888/rxIkTmjRpktq2bastW7bYzyDlR35q+ztjjO6++26tWrVKjzzyiBo1aqSlS5fq2Wef1eHDhzVx4kSH/t9//73mz5+vJ554Qv7+/nrnnXfUrVs3HTx4UOXLl8+zrnPnzqlNmzY6ePCghgwZosjISM2ePVsrV67M0XflypXq2LGjGjdurFGjRsnNzU0zZszQHXfcoe+++0633HJLvveH9Fcw/e2339S3b1+Fh4drx44dmjZtmnbs2KH169c7ffH3ihUr1LFjR1WvXl2jR4/WuXPn9O6776pZs2bavHlzjrDRvXt3RUVFafz48dq8ebOmT5+u0NBQvfbaa/Y+ffr00WeffabevXvr1ltv1Zo1a9S5c2en6rrcq6++qpEjR6p79+7q37+//vjjD7377rtq0aKFfvnlFwUFBRVo3HHjxsnT01PPPPOMMjIy8jzbaIzRPffco++//16PPfaY6tatqwULFig+Pj5H3x07dqhZs2aqWLGiXnjhBZUtW1afffaZunTponnz5qlr166S/gpt48ePV//+/XXLLbcoNTVVGzdu1ObNm9WuXbs8a87PevmtIduTTz6poKAgjR49WomJiZoyZYoOHDhgD33SX8HHz89Pw4cPl5+fn1auXKmXX35Zqampev3116+4nx999FHNnDlTffv21ZAhQ5SUlKT33ntPv/zyi9atWycPDw+dOHFC7du3V4UKFfTCCy8oKChI+/fv1/z58684NoqJAQpoxowZRpLZsGFDnn0CAwPNDTfcYF8eNWqU+fvbbuLEiUaS+eOPP/IcY8OGDUaSmTFjRo7nWrZsaSSZqVOn5vpcy5Yt7curVq0ykkzFihVNamqqvf2zzz4zkszbb79tb6tataqJj4+/6phXqi0+Pt5UrVrVvrxw4UIjybzyyisO/e677z5js9nM3r177W2SjKenp0Pb1q1bjSTz7rvv5tjW302aNMlIMp999pm97ezZs6ZGjRpGklm1apUxxpisrCxTs2ZNExcXZ7Kysux909PTTVRUlGnXrt0Vt5OUlJRj7unp6Tn6ffLJJ0aSWbt2rdPjNWrUyISGhpqUlBR729atW42bm5t5+OGH7W3Z76t+/fo5jNm1a1dTvnx5+/KmTZuMJDNs2DCHfn369DGSzKhRo+xtl79+l28r2/79+02ZMmXMq6++6tDv119/Ne7u7g7t+X1fZb9Xq1evnus+vVz2e2vChAn2tkuXLpnbb789xz5t06aNadCggTl//ry9LSsry9x2222mZs2a9raGDRuazp07X3Xbl8vPevmtIfu/MY0bNzYXLlywt0+YMMFIMosWLbK35bafHn30UePr6+uwnctf1++++85IMh9//LHDukuWLHFoX7BgwVX/ewfX4WMmFCk/P78r3tWU/X+sixYtUlZWVoG24eXlpb59++a7/8MPPyx/f3/78n333aeIiAh9++23Bdp+fn377bcqU6aMhgwZ4tD+9NNPyxijxYsXO7S3bdtW0dHR9uXY2FgFBATot99+u+p2IiIidN9999nbfH19NXDgQId+W7Zs0Z49e/TQQw8pJSVFycnJSk5O1tmzZ9WmTRutXbvW6dfk72e2zp8/r+TkZPvttps3b3ZqrKNHj2rLli3q06ePgoOD7e2xsbFq165drq/XY4895rB8++23KyUlxf7xTPbHdE888YRDv+wL1wti/vz5ysrKUvfu3e37MDk5WeHh4apZs6ZWrVpV4LHj4+Pzdbbw22+/lbu7ux5//HF7W5kyZXLM688//9TKlSvVvXt3nTlzxl5rSkqK4uLitGfPHh0+fFjSX8fmjh07tGfPHqdqvtp6ztSQbeDAgQ7XoD3++ONyd3d3eA/8fT9lj3v77bcrPT1du3btyrPezz//XIGBgWrXrp3D69e4cWP5+fnZX7/s/1Z9/fXXunjxolP7BEWPMIMilZaW5hAcLvfAAw+oWbNm6t+/v8LCwtSjRw999tlnTv0RrVixolMX+9asWdNh2WazqUaNGtq/f3++xyiIAwcOKDIyMsf+qFu3rv35v6tSpUqOMcqVK5fjc/zctlOjRo0cH+nUrl3bYTn7j018fLwqVKjg8Jg+fboyMjJ0+vTp/E3u//vzzz81dOhQhYWFycfHRxUqVFBUVJQkOT1W9v64vG7pr32WHbz+7vJ9Vq5cOUmy77MDBw7Izc3NXlO2a7mTZs+ePTLGqGbNmjn2486dO3XixIkCj315nXk5cOCAIiIi5Ofn59B++b7bu3evjDEaOXJkjlpHjRolSfZ6x44dq1OnTqlWrVpq0KCBnn322Rx3J+bmaus5U0O2y49ZPz8/RUREOByzO3bsUNeuXRUYGKiAgABVqFBBvXr1knTl996ePXt0+vRphYaG5qgnLS3NXkvLli3VrVs3jRkzRiEhIbrnnns0Y8aMPK9FQ/HimhkUmUOHDun06dNX/EPh4+OjtWvXatWqVfrmm2+0ZMkS/fe//9Udd9yhZcuWqUyZMlfdjjPXueRXXtd2ZGZm5qumwpDXdsxlFwsXVHZgfP3119WoUaNc+1z+x/Fqunfvrh9++EHPPvusGjVqJD8/P2VlZalDhw4FPvPmjMLcZ1d6D/xdVlaWbDabFi9enOv2/74PnX1fFfZ7O/s1eOaZZxQXF5drn+zjtUWLFtq3b58WLVqkZcuWafr06Zo4caKmTp2q/v3757mNq63nTA35derUKbVs2VIBAQEaO3asoqOj5e3trc2bN+v555+/4nsvKytLoaGh+vjjj3N9Pvu7b7K/cHP9+vX66quvtHTpUvXr109vvvmm1q9f7/SxgsJFmEGRmT17tiTl+R+sbG5ubmrTpo3atGmjt956S//85z/14osvatWqVWrbtm2hf2Pw5ae/jTHau3evYmNj7W3lypXL9U6QAwcOqHr16vZlZ2qrWrWqVqxYoTNnzjicnck+BV61atV8j3W17Wzfvl3GGIf6Lv/Om+yPsAICAtS2bdtr3u7JkyeVkJCgMWPG6OWXX7a3O/sxRbbs/ZHbd/Xs2rVLISEhKlu2rNNjZmVlKSkpyeH/9vfu3Zuj75XeA38XHR0tY4yioqJUq1atK24/v+8rZ1WtWlUJCQlKS0tz+KN6+b7L3oaHh0e+XvPg4GD17dtXffv2VVpamlq0aKHRo0dfMcxcbT1na5D+eg+1bt3avpyWlqajR4+qU6dOkv66+yslJUXz589XixYt7P2SkpKuOnZ0dLRWrFihZs2a5Ss83nrrrbr11lv16quvau7cuerZs6c+/fTTq+4TFC0+ZkKRWLlypcaNG6eoqCj17Nkzz35//vlnjrbsswTZp2+z/2DldZupsz766COH63i++OILHT16VB07drS3RUdHa/369bpw4YK97euvv85xq60ztXXq1EmZmZl67733HNonTpwom83msP1r0alTJx05csThZxvS09M1bdo0h36NGzdWdHS03njjDaWlpeUY548//nBqu9lnFi4/CzJp0iSnxskWERGhRo0aadasWQ77d/v27Vq2bJn9D5kzsoP1+++/79D+7rvv5ugbHR2t06dPO3xEcvToUS1YsMCh37333qsyZcpozJgxOeZujHG4LT2/7ytnderUSZcuXdKUKVPsbZmZmTnmFRoaqlatWunf//63jh49mmOcv7/ml99O7+fnpxo1alz1Y5WrredMDdmmTZvmcJ3KlClTdOnSJfsxk9t778KFCzle59x0795dmZmZGjduXI7nLl26ZH/vnTx5Msfre/l/q+A6nJnBNVu8eLF27dqlS5cu6fjx41q5cqWWL1+uqlWr6ssvv5S3t3ee644dO1Zr165V586dVbVqVZ04cULvv/++KlWqpObNm0v66w9AUFCQpk6dKn9/f5UtW1ZNmjTJ9/UElwsODlbz5s3Vt29fHT9+XJMmTVKNGjUcbh/v37+/vvjiC3Xo0EHdu3fXvn37NGfOHIcLcp2t7a677lLr1q314osvav/+/WrYsKGWLVumRYsWadiwYTnGLqgBAwbovffe08MPP6xNmzYpIiJCs2fPlq+vr0M/Nzc3TZ8+XR07dlRMTIz69u2rihUr6vDhw1q1apUCAgKc+uG/gIAAtWjRQhMmTNDFixdVsWJFLVu2LF//d5yX119/XR07dlTTpk31yCOP2G/NDgwMdPhOmPxq3LixunXrpkmTJiklJcV+a/bu3bsl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s0NbkyZNzKOPPlrIlRU9Z+deWl7z559/3jRv3typdZ577jkTExPj0PbAAw+YuLi4wiytyBVk7qtWrTKSzMmTJ4umKBcZOnSoiY6ONllZWbk+X5qO9b+72rxLy3FujDGdO3c2/fr1c2i79957Tc+ePfNcpzCOdT5mcrFBgwapc+fOatu2bb76p6WlqWrVqqpcubLuuece7dixo4grLBp79uxRZGSkqlevrp49e+rgwYN59v3xxx9z7J+4uDj9+OOPRV1mkXBm7lLpeM2//PJL3XTTTbr//vsVGhqqG264QR988MEV1yktr3tB5p6tUaNGioiIULt27bRu3boirrRoXbhwQXPmzFG/fv3yPOtQWl7zv8vPvKXScZxL0m233aaEhATt3r1bkrR161Z9//336tixY57rFMbrTphxoU8//VSbN2/W+PHj89W/du3a+vDDD7Vo0SLNmTNHWVlZuu2223To0KEirrRwNWnSRDNnztSSJUs0ZcoUJSUl6fbbb9eZM2dy7X/s2LEc3/gcFhZmuesHJOfnXlpe899++01TpkxRzZo1tXTpUj3++OMaMmSIZs2alec6eb3uqampOnfuXFGXXGgKMveIiAhNnTpV8+bN07x581S5cmW1atVKmzdvLsbKC9fChQt16tQp9enTJ88+pelYz5afeZeW41ySXnjhBfXo0UN16tSRh4eHbrjhBg0bNkw9e/bMc51COdadO4GEwnLw4EETGhpqtm7dam+72sdMl7tw4YKJjo42L730UhFUWHxOnjxpAgICzPTp03N93sPDw8ydO9ehbfLkySY0NLQ4yitSV5v75az6mnt4eJimTZs6tA0ePNjceuutea5Ts2ZN889//tOh7ZtvvjGSTHp6epHUWRQKMvfctGjRwvTq1aswSytW7du3N3feeecV+5TGYz0/876cVY9zY4z55JNPTKVKlcwnn3xitm3bZj766CMTHBxsZs6cmec6hXGsc2bGRTZt2qQTJ07oxhtvlLu7u9zd3bVmzRq98847cnd3d7h4LC/ZqXfv3r3FUHHRCQoKUq1atfKcR3h4uI4fP+7Qdvz4cYWHhxdHeUXqanO/nFVf84iICNWrV8+hrW7dulf8iC2v1z0gIEA+Pj5FUmdRKMjcc3PLLbdY7nXPduDAAa1YsUL9+/e/Yr/Sdqznd96Xs+pxLknPPvus/exMgwYN1Lt3bz311FNX/ASiMI51woyLtGnTRr/++qu2bNlif9x0003q2bOntmzZojJlylx1jMzMTP3666+KiIgohoqLTlpamvbt25fnPJo2baqEhASHtuXLl6tp06bFUV6RutrcL2fV17xZs2YOd2pI0u7du1W1atU81yktr3tB5p6bLVu2WO51zzZjxgyFhoaqc+fOV+xXWl7zbPmd9+WsepxLUnp6utzcHKNFmTJllJWVlec6hfK6X9P5JBSqyz9m6t27t3nhhRfsy2PGjDFLly41+/btM5s2bTI9evQw3t7eZseOHS6otuCefvpps3r1apOUlGTWrVtn2rZta0JCQsyJEyeMMTnnvW7dOuPu7m7eeOMNs3PnTjNq1Cjj4eFhfv31V1dNocCcnXtpec1//vln4+7ubl599VWzZ88e8/HHHxtfX18zZ84ce58XXnjB9O7d277822+/GV9fX/Pss8+anTt3msmTJ5syZcqYJUuWuGIKBVaQuU+cONEsXLjQ7Nmzx/z6669m6NChxs3NzaxYscIVU7gmmZmZpkqVKub555/P8VxpPtadmXdpOc6NMSY+Pt5UrFjRfP311yYpKcnMnz/fhISEmOeee87epyiOdcJMCXJ5mGnZsqWJj4+3Lw8bNsxUqVLFeHp6mrCwMNOpUyezefPm4i/0Gj3wwAMmIiLCeHp6mooVK5oHHnjA7N271/785fM2xpjPPvvM1KpVy3h6epqYmBjzzTffFHPVhcPZuZeW19wYY7766itTv3594+XlZerUqWOmTZvm8Hx8fLxp2bKlQ9uqVatMo0aNjKenp6levbqZMWNG8RVciJyd+2uvvWaio6ONt7e3CQ4ONq1atTIrV64s5qoLx9KlS40kk5iYmOO50nysOzPv0nScp6ammqFDh5oqVaoYb29vU716dfPiiy+ajIwMe5+iONZtxlzla/kAAABKMK6ZAQAAlkaYAQAAlkaYAQAAlkaYAQAAlkaYAQAAlkaYAQAAlkaYAQAAlkaYAQAAlkaYAVDsbDabFi5c6Ooy8sVKtQLXK8IMcB35448/9Pjjj6tKlSry8vJSeHi44uLitG7dOpfWVRICw+jRo9WoUaMCrz9v3jy1atVKgYGB8vPzU2xsrMaOHas///yz8IoEkCvCDHAd6datm3755RfNmjVLu3fv1pdffqlWrVopJSXF1aVZ2osvvqgHHnhAN998sxYvXqzt27frzTff1NatWzV79mxXlweUftf8q1IALOHkyZNGklm9evUV+zzyyCMmJCTE+Pv7m9atW5stW7bYnx81apRp2LChmTp1qqlUqZLx8fEx999/vzl16pS9z88//2zatm1rypcvbwICAkyLFi3Mpk2bHLYjySxYsCDP5ct98MEHpk6dOsbLy8vUrl3bTJ482f5cUlKSkWTmzZtnWrVqZXx8fExsbKz54YcfHMaYNm2aveYuXbqYN9980wQGBhpjjJkxY4aR5PDI/qE7SeaDDz4wXbp0MT4+PqZGjRpm0aJF9nF/+uknI8lMmjQpz3369333n//8x1SuXNmULVvWPP744+bSpUvmtddeM2FhYaZChQrmlVdeyXM/AMgdYQa4Tly8eNH4+fmZYcOGmfPnz+fap23btuauu+4yGzZsMLt37zZPP/20KV++vElJSTHG/PUHuWzZsuaOO+4wv/zyi1mzZo2pUaOGeeihh+xjJCQkmNmzZ5udO3ea//3vf+aRRx4xYWFhJjU11d7HmTAzZ84cExERYebNm2d+++03M2/ePBMcHGxmzpxpjPm/MFOnTh3z9ddfm8TERHPfffeZqlWrmosXLxpjjPn++++Nm5ubef31101iYqKZPHmyCQ4OtoeZ9PR08/TTT5uYmBhz9OhRc/ToUZOenm6vrVKlSmbu3Llmz549ZsiQIcbPz8++T7KXL1y4cMX9P2rUKOPn52fuu+8+s2PHDvPll18aT09PExcXZwYPHmx27dplPvzwQyPJrF+//opjAXBEmAGuI1988YUpV66c8fb2NrfddpsZMWKE2bp1qzHGmO+++84EBATkCDrR0dHm3//+tzHmrz/IZcqUMYcOHbI/v3jxYuPm5maOHj2a6zYzMzONv7+/+eqrr+xtzoSZ6OhoM3fuXIe2cePGmaZNmxpj/i/MTJ8+3f78jh07jCSzc+dOY4wxDzzwgOncubPDGD179rSHmey5NWzYMMf2JZmXXnrJvpyWlmYkmcWLFxtjjOnYsaOJjY3Ntfa/GzVqlPH19XUIdXFxcaZatWomMzPT3la7dm0zfvz4q44H4P9wzQxwHenWrZuOHDmiL7/8Uh06dNDq1at14403aubMmdq6davS0tJUvnx5+fn52R9JSUnat2+ffYwqVaqoYsWK9uWmTZsqKytLiYmJkqTjx49rwIABqlmzpgIDAxUQEKC0tDQdPHjQ6XrPnj2rffv26ZFHHnGo6ZVXXnGoSZJiY2Pt/46IiJAknThxQpKUmJioW265xaH/5ctX8vexy5Ytq4CAAPvYxph8j1OtWjX5+/vbl8PCwlSvXj25ubk5tGWPDSB/3F1dAIDi5e3trXbt2qldu3YaOXKk+vfvr1GjRumJJ55QRESEVq9enWOdoKCgfI8fHx+vlJQUvf3226pataq8vLzUtGlTXbhwwela09LSJEkffPCBmjRp4vBcmTJlHJY9PDzs/7bZbJKkrKwsp7eZm7+PnT1+9ti1atXS999/r4sXL+bol59xrjQ2gPzhzAxwnatXr57Onj2rG2+8UceOHZO7u7tq1Kjh8AgJCbH3P3jwoI4cOWJfXr9+vdzc3FS7dm1J0rp16zRkyBB16tRJMTEx8vLyUnJycoFqCwsLU2RkpH777bccNUVFReV7nNq1a2vDhg0ObZcve3p6KjMz0+kaH3roIaWlpen999/P9flTp045PSYA53BmBrhOpKSk6P7771e/fv0UGxsrf39/bdy4URMmTNA999yjtm3bqmnTpurSpYsmTJigWrVq6ciRI/rmm2/UtWtX3XTTTZL+OrMTHx+vN954Q6mpqRoyZIi6d++u8PBwSVLNmjU1e/Zs3XTTTUpNTdWzzz4rHx+fq9aXlJSkLVu2OLTVrFlTY8aM0ZAhQxQYGKgOHTooIyNDGzdu1MmTJzV8+PB8zX3w4MFq0aKF3nrrLd11111auXKlFi9ebD+DI/31EVB2DZUqVZK/v7+8vLyuOnaTJk303HPP6emnn9bhw4fVtWtXRUZGau/evZo6daqaN2+uoUOH5qtOAAXDmRngOuHn56cmTZpo4sSJatGiherXr6+RI0dqwIABeu+992Sz2fTtt9+qRYsW6tu3r2rVqqUePXrowIEDCgsLs49To0YN3XvvverUqZPat2+v2NhYh7MS//nPf3Ty5EndeOON6t27t4YMGaLQ0NCr1jd8+HDdcMMNDo9ffvlF/fv31/Tp0zVjxgw1aNBALVu21MyZM506M9OsWTNNnTpVb731lho2bKglS5boqaeekre3t71Pt27d1KFDB7Vu3VoVKlTQJ598ku/xX3vtNc2dO1c//fST4uLiFBMTo+HDhys2Nlbx8fH5HgdAwdiMM1evAbiujR49WgsXLsxxBsWKBgwYoF27dum7775zdSkArhEfMwG4Lrzxxhtq166dypYtq8WLF2vWrFl5XucCwFoIMwCuCz///LMmTJigM2fOqHr16nrnnXfUv39/V5cFoBDwMRMAALA0LgAGAACWRpgBAACWRpgBAACWRpgBAACWRpgBAACWRpgBAACWRpgBAACWRpgBAACW9v8AdOCO4PXA4sYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "sns.histplot(df['SepalLengthCm'],bins=10,kde=False,color= 'skyblue') \n", "plt.title(\"Distribution de la longueur des sépales\")" ] }, { "cell_type": "markdown", "id": "3bac44b9-7244-4aca-8ace-375b2ae0b33a", "metadata": {}, "source": [ "- Une distribution de données est symétrique si la forme de l'histogramme est equilibrée autour de la moyenne. Donc les données à gauche et à droite de la moyenne sont répartis de manière égale. La valeur de la moyenne calculé en utilisant df.describe() est 5.84. Pa rapport à l'histogramme, les données sont plus étalée à droite que la gauche donc la distribution n'est pas parfaitement symétrique, et les données présente une légère asymétrie. " ] }, { "cell_type": "markdown", "id": "2504c075-a0a6-47ad-9dca-33972c90b405", "metadata": {}, "source": [ "2. Scatter plot (nuage de points) pour observer la relation entre la longueur et la\n", "largeur des pétales" ] }, { "cell_type": "code", "execution_count": 9, "id": "a2003b7f-ff3e-4579-9978-ca491e38d14c", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRa0lEQVR4nO3de1xUZf4H8M8MOAMoTKCioIh4F2+ViuENLe+WubW6lRm2ZuZqZXalyyqZom1pdtHMSlutn5vr6lp5Wctrpat5Ww0jM1AzDEMdFBRk5vn9QTM5XIZz4MycZ2Y+79eL16sZHs58z8PEfD3n+X4fgxBCgIiIiEhCRr0DICIiIqoKExUiIiKSFhMVIiIikhYTFSIiIpIWExUiIiKSFhMVIiIikhYTFSIiIpIWExUiIiKSFhMVIiIikhYTFfJL48aNQ/PmzTU95rJly2AwGJCTk6PpcZVo3rw5xo0b5/XXDTTbtm2DwWDAtm3b9A6FfpOTkwODwYBly5bpHQrphIkKUTmzZ8/G2rVr9Q6DNFBUVIQZM2Yw8VBhxowZMBgMzq+wsDAkJibi+eefR0FBgerjLVy4kEkG1QoTFaJyqkpUxo4di8uXLyM+Pt77QVGNFBUVIT09nYlKDSxatAjLly/HvHnz0K5dO8yaNQtDhgyB2u3hmKhQbQXrHQCREoWFhahbt66uMQQFBSEoKEjXGAKJDL/z2pL1HIqKihAWFuZ2zB//+Ec0aNAAAPDQQw/hzjvvxL/+9S/s3r0bycnJ3giTCACvqJCEHJeeMzMzcc899yAyMhK9e/d2fn/FihXo2rUrQkNDERUVhbvuugunTp2q9rivvPIKevbsifr16yM0NBRdu3bFP//5T5cxBoMBhYWF+OCDD5yXvh1rQ6pao7Jw4UJ06NABZrMZsbGxmDx5Mi5cuOAypl+/fujYsSMyMzPRv39/hIWFoUmTJnj55ZdrNEfnzp3DE088gU6dOqFevXqIiIjA0KFDcejQIZdxjjUXH3/8MWbNmoWmTZsiJCQEt9xyC3744YcKx33rrbfQokULhIaGIikpCTt37kS/fv3Qr18/l3HFxcWYPn06WrVqBbPZjLi4ODz11FMoLi52jnG3tsBgMGDGjBnOx9X9zitz4cIFTJ06FXFxcTCbzWjVqhXmzp0Lu93ufP2GDRsCANLT052/z2tfV4mdO3di1KhRaNasmfNcH3vsMVy+fNll3Lhx41CvXj0cP34cw4YNQ3h4OMaMGQMAuHz5Mh555BE0aNAA4eHhGDFiBE6fPl1pPKdPn8af//xnNGrUCGazGR06dMD777/vMqaq92Jla2wc7719+/ahb9++CAsLw7PPPqtqDgDg5ptvBgBkZ2cDAOx2O1577TV06NABISEhaNSoESZOnIjz5887f6Z58+b49ttvsX37duf8O95LSt/DRLyiQtIaNWoUWrdujdmzZzsvN8+aNQsvvPACRo8ejQceeABnz57FG2+8gb59++LAgQO47rrrqjzeggULMGLECIwZMwYlJSVYuXIlRo0ahU8//RTDhw8HACxfvhwPPPAAkpKS8OCDDwIAWrZsWeUxZ8yYgfT0dAwYMACTJk1CVlYWFi1ahL179+Krr75CnTp1nGPPnz+PIUOG4I477sDo0aPxz3/+E08//TQ6deqEoUOHqpqbH3/8EWvXrsWoUaOQkJCAX375BYsXL0ZKSgoyMzMRGxvrMn7OnDkwGo144oknYLVa8fLLL2PMmDH473//6xyzaNEiTJkyBX369MFjjz2GnJwcjBw5EpGRkWjatKlznN1ux4gRI/Dll1/iwQcfRPv27XH48GHMnz8f33//fa3W91T2O69MUVERUlJScPr0aUycOBHNmjXD119/jbS0NOTm5uK1115Dw4YNsWjRIkyaNAl/+MMfcMcddwAAOnfurCqmVatWoaioCJMmTUL9+vWxZ88evPHGG/jpp5+watUql7GlpaUYPHgwevfujVdeecV51WLcuHH4+OOPMXbsWNx0003Yvn278z13rV9++QU33XQTDAYDpkyZgoYNG2LDhg0YP348CgoKMHXqVFWxO+Tn52Po0KG46667cO+996JRo0aqj3H8+HEAQP369QEAEydOxLJly3D//ffjkUceQXZ2Nt58800cOHDA+d5/7bXX8PDDD6NevXp47rnnAMD52mrfwxTABJFkpk+fLgCIu+++2+X5nJwcERQUJGbNmuXy/OHDh0VwcLDL86mpqSI+Pt5lXFFRkcvjkpIS0bFjR3HzzTe7PF+3bl2RmppaIa6lS5cKACI7O1sIIUReXp4wmUxi0KBBwmazOce9+eabAoB4//33nc+lpKQIAOLvf/+787ni4mLRuHFjceedd1Y9Gb+Jj493ienKlSsurymEENnZ2cJs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nTrl5WiJ/EN0eIim44iIPEX3Wz8mkwmtWrUCAHTt2hV79+7FggULsHjx4gpjzWYzzGazt0Mk8jtJCVGIsYTgjPUKKluk5lijkpQQ5e3QiIhc6H5FpTy73e6yDoWItBdkNGD6bWW3WMsvlXU8nn5bIhfSEpHudE1U0tLSsGPHDuTk5ODw4cNIS0vDtm3bMGbMGD3DIgoIQzrGYNG9N6KxxfX2TmNLCBbdeyP7qBCRFHS99ZOXl4f77rsPubm5sFgs6Ny5MzZt2oSBAwfqGRZRwBjSMQYDExuzMy0RSUu6PipqsI8KERGR71Hz+S3dGhUiIiIiByYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLSYqREREJC0mKkRERCQtJipEREQkLV0TlYyMDHTv3h3h4eGIjo7GyJEjkZWVpWdIREREJBFdE5Xt27dj8uTJ2L17NzZv3oyrV69i0KBBKCws1DMsIiIikoRBCCH0DsLh7NmziI6Oxvbt29G3b99qxxcUFMBiscBqtSIiIsILERIREVFtqfn8DvZSTIpYrVYAQFRUVKXfLy4uRnFxsfNxQUGBV+IiIiIifUizmNZut2Pq1Kno1asXOnbsWOmYjIwMWCwW51dcXJyXoyQiIiJvkubWz6RJk7BhwwZ8+eWXaNq0aaVjKruiEhcXJ+2tH5tdYE/2OeRdvILo8BAkJUQhyGjQOyxp4yIiosDgc7d+pkyZgk8//RQ7duyoMkkBALPZDLPZ7MXIam7jkVykf5KJXOsV53MxlhBMvy0RQzrGMC4iIiIFdL31I4TAlClTsGbNGmzZsgUJCQl6hqOZjUdyMWnFfpdkAADOWK9g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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## relation entre langueur et largeur du petal\n", "plt.scatter(x = df['PetalWidthCm'], y = df['PetalLengthCm'])\n", "plt.title(\"relation langeur et largeur Petal\")\n", "plt.xlabel(\"largeur petal\")\n", "plt.ylabel(\"langeur petal\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "399ca635-8173-4efd-9734-c9923150e960", "metadata": {}, "source": [ "- Il y a une relation linéaire entre la longueur et la largeur des pétales. Lorsque la longueur augmente, la largeur augmente aussi. On observe aussi des regroupement de données (2 groupes) " ] }, { "cell_type": "markdown", "id": "01a90cc6-0c66-48c4-bee0-bb68778c8be3", "metadata": {}, "source": [ "3. Corrélation entre les variables numériques" ] }, { "cell_type": "markdown", "id": "dd618fee-2519-4bda-be20-480bfb44d707", "metadata": {}, "source": [ "corrélation notable entre certaines variables numériques" ] }, { "cell_type": "code", "execution_count": 11, "id": "ec3e2ddc-822f-4632-b079-fb550d79a27d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCm
Id1.0000000.716676-0.3977290.8827470.899759
SepalLengthCm0.7166761.000000-0.1093690.8717540.817954
SepalWidthCm-0.397729-0.1093691.000000-0.420516-0.356544
PetalLengthCm0.8827470.871754-0.4205161.0000000.962757
PetalWidthCm0.8997590.817954-0.3565440.9627571.000000
\n", "
" ], "text/plain": [ " Id SepalLengthCm SepalWidthCm PetalLengthCm \\\n", "Id 1.000000 0.716676 -0.397729 0.882747 \n", "SepalLengthCm 0.716676 1.000000 -0.109369 0.871754 \n", "SepalWidthCm -0.397729 -0.109369 1.000000 -0.420516 \n", "PetalLengthCm 0.882747 0.871754 -0.420516 1.000000 \n", "PetalWidthCm 0.899759 0.817954 -0.356544 0.962757 \n", "\n", " PetalWidthCm \n", "Id 0.899759 \n", "SepalLengthCm 0.817954 \n", "SepalWidthCm -0.356544 \n", "PetalLengthCm 0.962757 \n", "PetalWidthCm 1.000000 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.corr(numeric_only = True)" ] }, { "cell_type": "markdown", "id": "f7f757ab-d285-4837-8d9f-1a71e4864cc5", "metadata": {}, "source": [ "- Les corrélations fortes (près de 1 ou -1) indiquent des relations significatives.\n", "- Par exemple entre SepalLengthCm et PetalLengthCm 0.871754\n", "- Entre PetalLengthCm et SepalLengthCm 0.871754\n", "- Entre PetalLengthCm et PetalWidthCm 0.962757\n", "- PetalWidthCm et SepalLengthCm 0.817954" ] }, { "cell_type": "markdown", "id": "0b0ac767-fb4a-4147-9dcc-b0cb0bd91e3b", "metadata": {}, "source": [ "4. Diagramme en barres pour représenter le nombre de fleurs par espèce" ] }, { "cell_type": "code", "execution_count": 12, "id": "1cc975f4-578e-404c-8e4b-22b3f7f26dfd", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAIWCAYAAABN8Wd5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKWElEQVR4nO3deVhU9eLH8c+ggLgA4gIuqCgumEuKZWha7pKZpqWmpXk1rVBTy8puRnS7mVZqdS27LS79NNcsy9Rc0HJrcddU3CEFNRUQDWQ5vz98nOvEImODhwPv1/PwPM53zpzzGRiHD+d8zxmbYRiGAAAALMjN7AAAAAA3iyIDAAAsiyIDAAAsiyIDAAAsiyIDAAAsiyIDAAAsiyIDAAAsiyIDAAAsiyIDAAAsiyIDmOTxxx9X2bJlzY6RzfHjx2Wz2TRr1iyXrTMlJUVDhw5VQECAbDabRo8eXSDbAVD8lDQ7AICi74033tCsWbM0YcIE1alTRyEhIWZHAlBEUGQAFLh169bprrvuUmRkpH3s+PHj5gUCUGRwaAmwoIyMDF25csXsGPl25swZ+fr6mh1DkmQYhv7880+zY9zQpUuXzI4AWAJFBsXCq6++KpvNpsOHD+vxxx+Xr6+vfHx8NHjwYF2+fNlh2YyMDP3rX/9SnTp15OnpqVq1aumll15SWlqaw3K1atXS/fffr/Xr16tFixby8vJS48aNtX79eknSl19+qcaNG6tUqVIKDQ3Vjh07csx29OhRdenSRWXKlFHVqlX12muv6foPpb82l+Ttt9/WtGnT7Ll+++03SdKBAwf00EMPyc/PT6VKlVKLFi20bNmyfH1fEhMT9fjjj8vHx0e+vr4aNGiQEhMTc1z2Zrazfv162Ww2HTt2TMuXL5fNZpPNZstzb0x+tnPt5/lXs2bNyrb+az+nVatW2X9OH330kSRp9erVuvvuu+Xr66uyZcuqfv36eumll/J8TpJks9k0YsQIzZ07V/Xr17f/jH/44QeH5U6cOKGnn35a9evXl5eXlypUqKCHH3442/O/lnvDhg16+umnVblyZVWvXj3PDGlpaYqMjFRwcLA8PT0VGBio559/Ptvr9EbP8drPaMGCBXrppZcUEBCgMmXK6IEHHlBcXFy27f7000/q2rWrfHx8VLp0ad1zzz3atGlTtuVOnjypIUOGqGrVqvL09FRQUJCeeuophwKemJio0aNHKzAwUJ6engoODtakSZOUlZWV53MHrsehJRQrffr0UVBQkCZOnKjt27frk08+UeXKlTVp0iT7MkOHDtXs2bP10EMP6dlnn9VPP/2kiRMnav/+/Vq6dKnD+g4fPqz+/ftr+PDhevTRR/X222+re/fumjFjhl566SU9/fTTkqSJEyeqT58+OnjwoNzc/vf3Q2Zmprp27aq77rpLkydP1sqVKxUZGamMjAy99tprDtuaOXOmUlNTNWzYMHl6esrPz0/79u1T69atVa1aNb344osqU6aMFi5cqJ49e2rJkiV68MEHc/1eGIahHj16aOPGjXryyScVEhKipUuXatCgQdmWvdnthISE6PPPP9eYMWNUvXp1Pfvss5KkSpUq6ezZsy7bzo0cPHhQjzzyiIYPH64nnnhC9evX1759+3T//ferSZMmeu211+Tp6anDhw/n+Es5Jxs2bNCCBQs0atQoeXp66oMPPlDXrl31888/q1GjRpKkX375RZs3b1a/fv1UvXp1HT9+XB9++KHuvfde/fbbbypdurTDOp9++mlVqlRJr7zySp57ZLKysvTAAw9o48aNGjZsmEJCQrRnzx5NnTpVMTEx+uqrr+zfz/w+x3//+9+y2Wx64YUXdObMGU2bNk0dO3bUzp075eXlJenqIcLw8HCFhoYqMjJSbm5umjlzptq3b68ff/xRd955pyTp1KlTuvPOO5WYmKhhw4apQYMGOnnypBYvXqzLly/Lw8NDly9f1j333KOTJ09q+PDhqlGjhjZv3qzx48crPj5e06ZNy9fPAZABFAORkZGGJOMf//iHw/iDDz5oVKhQwX57586dhiRj6NChDss999xzhiRj3bp19rGaNWsakozNmzfbx1atWmVIMry8vIwTJ07Yxz/66CNDkhEdHW0fGzRokCHJGDlypH0sKyvL6Natm+Hh4WGcPXvWMAzDOHbsmCHJ8Pb2Ns6cOeOQq0OHDkbjxo2N1NRUh3W0atXKqFu3bp7fk6+++sqQZEyePNk+lpGRYbRp08aQZMycOdMl2zGMq9+rbt26OYxde143s51rP8+/mjlzpiHJOHbsmMO2JRkrV650WHbq1KmGJPv32RmSDEnGr7/+ah87ceKEUapUKePBBx+0j12+fDnbY7ds2WJIMubMmZMt9913321kZGTccPuff/654ebmZvz4448O4zNmzDAkGZs2bcr3c4yOjjYkGdWqVTOSk5Pt4wsXLjQkGe+++65hGFd/DnXr1jW6dOliZGVlOTzHoKAgo1OnTvaxgQMHGm5ubsYvv/ySbXvXHvuvf/3LKFOmjBETE+Nw/4svvmiUKFHCiI2NveH3ATAMw+DQEoqVJ5980uF2mzZtdO7cOSUnJ0uSvvvuO0nS2LFjHZa7tidh+fLlDuMNGzZUWFiY/XbLli0lSe3bt1eNGjWyjR89ejRbphEjRtj/fe2QxZUrV7RmzRqH5Xr37q1KlSrZb58/f17r1q1Tnz59dPHiRf3xxx/6448/dO7cOXXp0kWHDh3SyZMnc/1efPfddypZsqSeeuop+1iJEiU0cuRIh+X+7nbyqyC3ExQUpC5dujiMXZuz8/XXX9/UoYywsDCFhobab9eoUUM9evTQqlWrlJmZKUn2PRmSlJ6ernPnzik4OFi+vr7avn17tnU+8cQTKlGixA23vWjRIoWEhKhBgwb279Mff/yh9u3bS5Kio6Odfo4DBw5UuXLl7LcfeughValSxf5/YufOnTp06JD69++vc+fO2bd56dIldejQQT/88IOysrKUlZWlr776St27d1eLFi2ybefaIcFFixapTZs2Kl++vMNz6NixozIzM7MdpgNyw6ElFCvXlwtJKl++vCTpwoUL8vb21okTJ+Tm5qbg4GCH5QICAuTr66sTJ07kuT4fHx9JUmBgYI7jFy5ccBh3c3NT7dq1Hcbq1asnKftZPUFBQQ63Dx8+LMMwNGHCBE2YMCH7k9XVSbbVqlXL8b4TJ06oSpUq2a5lU79+fZduJ78Kcjt//d5JUt++ffXJJ59o6NChevHFF9WhQwf16tVLDz30kMPhv9zUrVs321i9evV0+fJlnT17VgEBAfrzzz81ceJEzZw5UydPnnSY+5SUlJSvnDk5dOiQ9u/f71Bsr3fmzBmnn+Nfn4/NZlNwcLD9dXjo0CFJyvHQ4/XP6cqVK0pOTrYfXsvrOezevfuGzwG4EYoMipXc/tq9/heMpBwnkjqzvvxuxxnX/3Uvyf4X9nPPPZdtb8M1fy1kN6Mwbie3n8+1PSF/9dfv3bWxH374QdHR0Vq+fLlWrlypBQsWqH379vr+++/ztWfkRkaOHKmZM2dq9OjRCgsLk4+Pj2w2m/r165fjHpKccuYkKytLjRs31pQpU3K8/1qRduVzvJb3rbfe0u23357jMmXLltX58+fzvb5OnTrp+eefz/H+a4UeuBGKDHCdmjVrKisrS4cOHXK4aNvp06eVmJiomjVrunR7WVlZOnr0qMObdkxMjKSrZ9vk5dqeHHd3d3Xs2NHpbdesWVNr165VSkqKw16ZgwcPunQ7+eXMdq7tSUtMTHQ4rfuve8xuxM3NTR06dFCHDh00ZcoUvfHGG/rnP/+p6OjoG2a4tofiejExMSpdurR9L8PixYs1aNAgvfPOO/ZlUlNTcz0zLL/q1KmjXbt2qUOHDjcs3fl9jn99PoZh6PDhw2rSpIl9m5Lk7e2d5/emUqVK8vb21t69e2/4HFJSUgr0NYXigTkywHXuu+8+Scp2xsS1v3y7devm8m3+5z//sf/bMAz95z//kbu7uzp06JDn4ypXrqx7771XH330keLj47Pdn9NZQde77777lJGRoQ8//NA+lpmZqffff9+l28kvZ7Zz7Zfq9fMoLl26pNmzZ+d7ezntObi2p+GvpzDnZMuWLQ7zXOLi4vT111+rc+fO9j0dJUqUyLYX7v333891z1F+9enTRydPntTHH3+c7b4///zTfsaTM89xzpw5unjxov324sWLFR8fr/DwcElSaGio6tSpo7ffflspKSnZ1nvt5+Pm5qaePXvqm2++0a+//pptuWvfjz59+mjLli1atWpVtmUSExOVkZGR43MH/oo9MsB1mjZtqkGDBum///2vEhMTdc899+jnn3/W7Nmz1bNnT7Vr186l2ytVqpRWrlypQYMGqWXLllqxYoWWL1+ul156Kde5A9ebPn267r77bjVu3FhPPPGEateurdOnT2vLli36/ffftWvXrlwf2717d7Vu3Vovvviijh8/roYNG+rLL7/Mce7G39mOM/K7nc6dO6tGjRoaMmSIxo0bpxIlSuizzz5TpUqVFBsbm69tvfbaa/rhhx/UrVs31axZU2fOnNEHH3yg6tWr6+67777h4xs1aqQuXbo4nH4tSVFRUfZl7r//fn3++efy8fFRw4YNtWXLFq1Zs0YVKlS4ie/O/zz22GNauHChnnzySUVHR6t169bKzMzUgQMHtHDhQvs1c5x5jn5+frr77rs1ePBgnT59WtOmTVNwcLCeeOIJSVcLyieffKLw8HDddtttGjx4sKpVq6aTJ08qOjpa3t7e+uabbyRd/UiK77//Xvfcc4/99PD4+HgtWrRIGzdulK+vr8aNG6dly5bp/vvv1+OPP67Q0FBdunRJe/bs0eLFi3X8+HFVrFjxb32fUEyYdboUcCtdO133r6eh5nS6bnp6uhEVFWUEBQUZ7u7uRmBgoDF+/HiHU4INI+dTig3j6qm5ERERDmPXTjV+66237GODBg0yypQpYxw5csTo3LmzUbp0acPf39+IjIw0MjMz83zs9Y4cOWIMHDjQCAgIMNzd3Y1q1aoZ999/v7F48eIbfl/OnTtnPPbYY4a3t7fh4+NjPPbYY8aOHTuynRb9d7eT39OvndnOtm3bjJYtWxoeHh5GjRo1jClTpuR6+nVOP6e1a9caPXr0MKpWrWp4eHgYVatWNR555JFspwPn5NrP+P/+7/+MunXrGp6enkazZs0cTq83DMO4cOGCMXjwYKNixYpG2bJljS5duhgHDhwwatasaQwaNMi+3LXcOZ2unJsrV64YkyZNMm677TbD09PTKF++vBEaGmpERUUZSUlJ+X6O106//uKLL4zx48cblStXNry8vIxu3bo5XELgmh07dhi9evUyKlSoYHh6eho1a9Y0+vTpY6xdu9ZhuRMnThgDBw40KlWqZHh6ehq1a9c2IiIijLS0NPsyFy9eNMaPH28EBwcbHh4eRsWKFY1WrVoZb7/9tnHlypV8fy9QvNkM42/MPgSAYshmsykiIsLhsKBVrV+/Xu3atdOiRYv00EMPmR0HcBpzZAAAgGVRZAAAgGVRZAAAgGUxRwYAAFgWe2QAAIBlUWQAAIBlFfkL4mVlZenUqVMqV65cvj8/BwAAmMswDF28eFFVq1bN84Nci3yROXXqVLZPIgYAANYQFxen6tWr53p/kS8y5cqVk3T1G+Ht7W1yGgAAkB/JyckKDAy0/x7PTZEvMtcOJ3l7e1NkAACwmBt+wvstygEAAOByFBkAAGBZFBkAAGBZFBkAAGBZFBkAAGBZFBkAAGBZFBkAAGBZFBkAAGBZFBkAAGBZFBkAAGBZphaZV199VTabzeGrQYMG9vtTU1MVERGhChUqqGzZsurdu7dOnz5tYmIAAFCYmL5H5rbbblN8fLz9a+PGjfb7xowZo2+++UaLFi3Shg0bdOrUKfXq1cvEtAAAoDAx/UMjS5YsqYCAgGzjSUlJ+vTTTzVv3jy1b99ekjRz5kyFhIRo69atuuuuu251VAAAUMiYvkfm0KFDqlq1qmrXrq0BAwYoNjZWkrRt2zalp6erY8eO9mUbNGigGjVqaMuWLWbFBQAAhYipe2RatmypWbNmqX79+oqPj1dUVJTatGmjvXv3KiEhQR4eHvL19XV4jL+/vxISEnJdZ1pamtLS0uy3k5OTCyo+AAAwmalFJjw83P7vJk2aqGXLlqpZs6YWLlwoLy+vm1rnxIkTFRUV5aqIt4zNZnaCosMwzE5QdNiieGG6ghHJi9JleLN0nSLyZmn6oaXr+fr6ql69ejp8+LACAgJ05coVJSYmOixz+vTpHOfUXDN+/HglJSXZv+Li4go4NQAAMEuhKjIpKSk6cuSIqlSpotDQULm7u2vt2rX2+w8ePKjY2FiFhYXlug5PT095e3s7fAEAgKLJ1ENLzz33nLp3766aNWvq1KlTioyMVIkSJfTII4/Ix8dHQ4YM0dixY+Xn5ydvb2+NHDlSYWFhnLEEAAAkmVxkfv/9dz3yyCM6d+6cKlWqpLvvvltbt25VpUqVJElTp06Vm5ubevfurbS0NHXp0kUffPCBmZEBAEAhYjOMIjLbJxfJycny8fFRUlJSoT7MxPw11ynar+hbi8m+rsFkXxfizdJ1CvmbZX5/fxeqOTIAAADOoMgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLosgAAADLKjRF5s0335TNZtPo0aPtY6mpqYqIiFCFChVUtmxZ9e7dW6dPnzYvJAAAKFQKRZH55Zdf9NFHH6lJkyYO42PGjNE333yjRYsWacOGDTp16pR69eplUkoAAFDYmF5kUlJSNGDAAH388ccqX768fTwpKUmffvqppkyZovbt2ys0NFQzZ87U5s2btXXrVhMTAwCAwsL0IhMREaFu3bqpY8eODuPbtm1Tenq6w3iDBg1Uo0YNbdmyJdf1paWlKTk52eELAAAUTSXN3Pj8+fO1fft2/fLLL9nuS0hIkIeHh3x9fR3G/f39lZCQkOs6J06cqKioKFdHBQAAhZBpe2Ti4uL0zDPPaO7cuSpVqpTL1jt+/HglJSXZv+Li4ly2bgAAULiYVmS2bdumM2fOqHnz5ipZsqRKliypDRs26L333lPJkiXl7++vK1euKDEx0eFxp0+fVkBAQK7r9fT0lLe3t8MXAAAomkw7tNShQwft2bPHYWzw4MFq0KCBXnjhBQUGBsrd3V1r165V7969JUkHDx5UbGyswsLCzIgMAAAKGdOKTLly5dSoUSOHsTJlyqhChQr28SFDhmjs2LHy8/OTt7e3Ro4cqbCwMN11111mRAYAAIWMqZN9b2Tq1Klyc3NT7969lZaWpi5duuiDDz4wOxYAACgkbIZhGGaHKEjJycny8fFRUlJSoZ4vY7OZnaDoKNqv6FvLFsUL0xWMSF6ULsObpesU8jfL/P7+Nv06MgAAADeLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACyLIgMAACzLJUUmMTHRFasBAABwitNFZtKkSVqwYIH9dp8+fVShQgVVq1ZNu3btcmk4AACAvDhdZGbMmKHAwEBJ0urVq7V69WqtWLFC4eHhGjdunMsDAgAA5Kaksw9ISEiwF5lvv/1Wffr0UefOnVWrVi21bNnS5QEBAABy4/QemfLlyysuLk6StHLlSnXs2FGSZBiGMjMzXZsOAAAgD07vkenVq5f69++vunXr6ty5cwoPD5ck7dixQ8HBwS4PCAAAkBuni8zUqVMVFBSk2NhYTZ48WWXLlpUkxcfH6+mnn3Z5QAAAgNw4VWTS09M1fPhwTZgwQUFBQQ73jRkzxqXBAAAAbsSpOTLu7u5asmRJQWUBAABwitOTfXv27KmvvvqqAKIAAAA4x+k5MnXr1tVrr72mTZs2KTQ0VGXKlHG4f9SoUS4LBwAAkBebYRiGMw/469wYh5XZbDp69OjfDuVKycnJ8vHxUVJSkry9vc2OkyubzewERYdzr2jkxRbFC9MVjEhelC7Dm6XrFPI3y/z+/nZ6j8yxY8f+VjAAAABX4dOvAQCAZTm9R+Yf//hHnvd/9tlnNx0GAADAGU4XmQsXLjjcTk9P1969e5WYmKj27du7LBgAAMCNOF1kli5dmm0sKytLTz31lOrUqeOSUAAAAPnhkjkybm5uGjt2rKZOneqK1QEAAOSLyyb7HjlyRBkZGa5aHQAAwA05fWhp7NixDrcNw1B8fLyWL1+uQYMGuSwYAADAjThdZHbs2OFw283NTZUqVdI777xzwzOaAAAAXMnpIhMdHV0QOQAAAJx2U3NkMjIytGbNGn300Ue6ePGiJOnUqVNKSUlxaTgAAIC8OL1H5sSJE+ratatiY2OVlpamTp06qVy5cpo0aZLS0tI0Y8aMgsgJAACQjdN7ZJ555hm1aNFCFy5ckJeXl338wQcf1Nq1a10aDgAAIC9O75H58ccftXnzZnl4eDiM16pVSydPnnRZMAAAgBtxeo9MVlaWMjMzs43//vvvKleunEtCAQAA5IfTRaZz586aNm2a/bbNZlNKSooiIyN13333ObWuDz/8UE2aNJG3t7e8vb0VFhamFStW2O9PTU1VRESEKlSooLJly6p37946ffq0s5EBAEAR5XSReeedd7Rp0yY1bNhQqamp6t+/v/2w0qRJk5xaV/Xq1fXmm29q27Zt+vXXX9W+fXv16NFD+/btkySNGTNG33zzjRYtWqQNGzbo1KlT6tWrl7ORAQBAEWUzDMNw9kEZGRmaP3++du/erZSUFDVv3lwDBgxwmPx7s/z8/PTWW2/poYceUqVKlTRv3jw99NBDkqQDBw4oJCREW7Zs0V133ZWv9SUnJ8vHx0dJSUny9vb+2/kKis1mdoKiw/lXNHJji+KF6QpGJC9Kl+HN0nUK+Ztlfn9/Oz3ZV5JKliypRx999KbD5SQzM1OLFi3SpUuXFBYWpm3btik9PV0dO3a0L9OgQQPVqFHDqSIDAACKrnwVmWXLluV7hQ888IBTAfbs2aOwsDClpqaqbNmyWrp0qRo2bKidO3fKw8NDvr6+Dsv7+/srISEh1/WlpaUpLS3Nfjs5OdmpPAAAwDryVWR69uyZr5XZbLYcz2jKS/369bVz504lJSVp8eLFGjRokDZs2ODUOq43ceJERUVF3fTjAQCAdeRrsm9WVla+vpwtMZLk4eGh4OBghYaGauLEiWratKneffddBQQE6MqVK0pMTHRY/vTp0woICMh1fePHj1dSUpL9Ky4uzulMAADAGvJVZPz8/HTu3DlJ0j/+8Q/75ysVhKysLKWlpSk0NFTu7u4OVws+ePCgYmNjFRYWluvjPT097adzX/sCAABFU74OLV25ckVJSUmqUKGCZs+erUmTJrnk4nfjx49XeHi4atSooYsXL2revHlav369Vq1aJR8fHw0ZMkRjx46Vn5+fvL29NXLkSIWFhTHRFwAASMpnkQkLC1PPnj0VGhoqwzA0atSoXE+1/uyzz/K98TNnzmjgwIGKj4+Xj4+PmjRpolWrVqlTp06SpKlTp8rNzU29e/dWWlqaunTpog8++CDf6wcAAEVbvorM//3f/2nq1Kk6cuSIbDabkpKSlJqa+rc3/umnn+Z5f6lSpTR9+nRNnz79b28LAAAUPfkqMv7+/nrzzTclSUFBQfr8889VoUKFAg0GAABwI05fEO/YsWMFkQMAAMBpTn/WEgAAQGFBkQEAAJZFkQEAAJZFkQEAAJZ1U0XmyJEjevnll/XII4/ozJkzkqQVK1Zo3759Lg0HAACQF6eLzIYNG9S4cWP99NNP+vLLL5WSkiJJ2rVrlyIjI10eEAAAIDdOF5kXX3xRr7/+ulavXi0PDw/7ePv27bV161aXhgMAAMiL00Vmz549evDBB7ONV65cWX/88YdLQgEAAOSH00XG19dX8fHx2cZ37NihatWquSQUAABAfjhdZPr166cXXnhBCQkJstlsysrK0qZNm/Tcc89p4MCBBZERAAAgR04XmTfeeEMNGjRQYGCgUlJS1LBhQ7Vt21atWrXSyy+/XBAZAQAAcuT0Zy15eHjo448/1oQJE7R3716lpKSoWbNmqlu3bkHkAwAAyJXTReaaGjVqqEaNGq7MAgAA4JR8FZmxY8fme4VTpky56TAAAADOyFeR2bFjh8Pt7du3KyMjQ/Xr15ckxcTEqESJEgoNDXV9QgAAgFzkq8hER0fb/z1lyhSVK1dOs2fPVvny5SVJFy5c0ODBg9WmTZuCSQkAAJADm2EYhjMPqFatmr7//nvddtttDuN79+5V586dderUKZcG/LuSk5Pl4+OjpKQkeXt7mx0nVzab2QmKDude0ciLLYoXpisYkbwoXYY3S9cp5G+W+f397fTp18nJyTp79my28bNnz+rixYvOrg4AAOCmOV1kHnzwQQ0ePFhffvmlfv/9d/3+++9asmSJhgwZol69ehVERgAAgBw5ffr1jBkz9Nxzz6l///5KT0+/upKSJTVkyBC99dZbLg8IAACQG6fnyFxz6dIlHTlyRJJUp04dlSlTxqXBXIU5MsVPIT/saynMkXEN5si4EG+WrlPI3yzz+/v7pi+IV6ZMGTVp0uRmHw4AAPC3OT1HBgAAoLCgyAAAAMuiyAAAAMuiyAAAAMu6qSLz+eefq3Xr1qpatapOnDghSZo2bZq+/vprl4YDAADIi9NF5sMPP9TYsWN13333KTExUZmZmZIkX19fTZs2zdX5AAAAcuV0kXn//ff18ccf65///KdKlChhH2/RooX27Nnj0nAAAAB5cbrIHDt2TM2aNcs27unpqUuXLrkkFAAAQH44XWSCgoK0c+fObOMrV65USEiIKzIBAADki9NX9h07dqwiIiKUmpoqwzD0888/64svvtDEiRP1ySefFERGAACAHDldZIYOHSovLy+9/PLLunz5svr376+qVavq3XffVb9+/QoiIwAAQI6cKjIZGRmaN2+eunTpogEDBujy5ctKSUlR5cqVCyofAABArpyaI1OyZEk9+eSTSk1NlSSVLl2aEgMAAEzj9GTfO++8Uzt27CiILAAAAE5xeo7M008/rWeffVa///67QkNDVaZMGYf7mzRp4rJwAAAAeXG6yFyb0Dtq1Cj7mM1mk2EYstls9iv9AgAAFDSni8yxY8cKIgcAAIDTnC4yNWvWLIgcAAAATnO6yEjSwYMH9f7772v//v2SpJCQEI0cOVL169d3aTgAAIC8OH3W0pIlS9SoUSNt27ZNTZs2VdOmTbV9+3Y1atRIS5YsKYiMAAAAOXJ6j8zzzz+v8ePH67XXXnMYj4yM1PPPP6/evXu7LBwAAEBenN4jEx8fr4EDB2Ybf/TRRxUfH++SUAAAAPnhdJG599579eOPP2Yb37hxo9q0aeOSUAAAAPmRr0NLy5Yts//7gQce0AsvvKBt27bprrvukiRt3bpVixYtUlRUVMGkBAAAyIHNMAzjRgu5ueVvx01hvCBecnKyfHx8lJSUJG9vb7Pj5MpmMztB0XHjVzTyyxbFC9MVjEhelC7Dm6XrFPI3y/z+/s7XHpmsrCyXBQMAAHAVp+fIAAAAFBY3dUG8X375RdHR0Tpz5ky2vTVTpkxxSTAAAIAbcbrIvPHGG3r55ZdVv359+fv7y3bd8Uobxy4BAMAt5HSReffdd/XZZ5/p8ccfL4A4AAAA+ef0HBk3Nze1bt26ILIAAAA4xekiM2bMGE2fPr0gsgAAADjF6UNLzz33nLp166Y6deqoYcOGcnd3d7j/yy+/dFk4AACAvDhdZEaNGqXo6Gi1a9dOFSpUYIIvAAAwjdNFZvbs2VqyZIm6detWEHkAAADyzek5Mn5+fqpTp05BZAEAAHCK00Xm1VdfVWRkpC5fvvy3Nz5x4kTdcccdKleunCpXrqyePXvq4MGDDsukpqYqIiJCFSpUUNmyZdW7d2+dPn36b28bAABYn9OHlt577z0dOXJE/v7+qlWrVrbJvtu3b8/3ujZs2KCIiAjdcccdysjI0EsvvaTOnTvrt99+U5kyZSRdPUtq+fLlWrRokXx8fDRixAj16tVLmzZtcjY6AAAoYpwuMj179nTZxleuXOlwe9asWapcubK2bdumtm3bKikpSZ9++qnmzZun9u3bS5JmzpypkJAQbd26VXfddZfLsgAAAOtxushERkYWRA5JUlJSkqSr83Akadu2bUpPT1fHjh3tyzRo0EA1atTQli1bciwyaWlpSktLs99OTk4usLwAAMBcN/WhkdLVkrF//35J0m233aZmzZr9rSBZWVkaPXq0WrdurUaNGkmSEhIS5OHhIV9fX4dl/f39lZCQkON6Jk6cqKioqL+VBQAAWIPTRebMmTPq16+f1q9fby8YiYmJateunebPn69KlSrdVJCIiAjt3btXGzduvKnHXzN+/HiNHTvWfjs5OVmBgYF/a50AAKBwcvqspZEjR+rixYvat2+fzp8/r/Pnz2vv3r1KTk7WqFGjbirEiBEj9O233yo6OlrVq1e3jwcEBOjKlStKTEx0WP706dMKCAjIcV2enp7y9vZ2+AIAAEWT00Vm5cqV+uCDDxQSEmIfa9iwoaZPn64VK1Y4tS7DMDRixAgtXbpU69atU1BQkMP9oaGhcnd319q1a+1jBw8eVGxsrMLCwpyNDgAAihinDy1lZWVlO+Vaktzd3ZWVleXUuiIiIjRv3jx9/fXXKleunH3ei4+Pj7y8vOTj46MhQ4Zo7Nix8vPzk7e3t0aOHKmwsDDOWAIAAM7vkWnfvr2eeeYZnTp1yj528uRJjRkzRh06dHBqXR9++KGSkpJ07733qkqVKvavBQsW2JeZOnWq7r//fvXu3Vtt27ZVQEAAH0wJAAAkSTbDMAxnHhAXF6cHHnhA+/bts0+ijYuLU6NGjbRs2TKHOS6FQXJysnx8fJSUlFSo58vw2Zuu49wrGnmxRfHCdAUjkhely/Bm6TqF/M0yv7+/nT60FBgYqO3bt2vNmjU6cOCAJCkkJMThWi8AAAC3wk1dR8Zms6lTp07q1KmTq/MAAADk200VmbVr12rt2rU6c+ZMtgm+n332mUuCAQAA3IjTRSYqKkqvvfaaWrRooSpVqsjG8UoAAGASp4vMjBkzNGvWLD322GMFkQcAACDfnD79+sqVK2rVqlVBZAEAAHCK00Vm6NChmjdvXkFkAQAAcIrTh5ZSU1P13//+V2vWrFGTJk2yXeV3ypQpLgsHAACQF6eLzO7du3X77bdLkvbu3etwHxN/AQDAreR0kYmOji6IHAAAAE5zeo4MAABAYUGRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlkWRAQAAlmVqkfnhhx/UvXt3Va1aVTabTV999ZXD/YZh6JVXXlGVKlXk5eWljh076tChQ+aEBQAAhY6pRebSpUtq2rSppk+fnuP9kydP1nvvvacZM2bop59+UpkyZdSlSxelpqbe4qQAAKAwKmnmxsPDwxUeHp7jfYZhaNq0aXr55ZfVo0cPSdKcOXPk7++vr776Sv369buVUQEAQCFUaOfIHDt2TAkJCerYsaN9zMfHRy1bttSWLVtyfVxaWpqSk5MdvgAAQNFUaItMQkKCJMnf399h3N/f335fTiZOnCgfHx/7V2BgYIHmBAAA5im0ReZmjR8/XklJSfavuLg4syMBAIACUmiLTEBAgCTp9OnTDuOnT5+235cTT09PeXt7O3wBAICiqdAWmaCgIAUEBGjt2rX2seTkZP30008KCwszMRkAACgsTD1rKSUlRYcPH7bfPnbsmHbu3Ck/Pz/VqFFDo0eP1uuvv666desqKChIEyZMUNWqVdWzZ0/zQgMAgELD1CLz66+/ql27dvbbY8eOlSQNGjRIs2bN0vPPP69Lly5p2LBhSkxM1N13362VK1eqVKlSZkUGAACFiM0wDMPsEAUpOTlZPj4+SkpKKtTzZWw2sxMUHUX7FX1r2aJ4YbqCEcmL0mV4s3SdQv5mmd/f34V2jgwAAMCNUGQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlUWQAAIBlWaLITJ8+XbVq1VKpUqXUsmVL/fzzz2ZHAgAAhUChLzILFizQ2LFjFRkZqe3bt6tp06bq0qWLzpw5Y3Y0AABgskJfZKZMmaInnnhCgwcPVsOGDTVjxgyVLl1an332mdnRAACAyQp1kbly5Yq2bdumjh072sfc3NzUsWNHbdmyxcRkAACgMChpdoC8/PHHH8rMzJS/v7/DuL+/vw4cOJDjY9LS0pSWlma/nZSUJElKTk4uuKAoVPhRu1Cq2QGKBt5/UCgV8tfltf83hmHkuVyhLjI3Y+LEiYqKiso2HhgYaEIamMHHx+wEgCOfN3lRohCyyJvlxYsX5ZNH1kJdZCpWrKgSJUro9OnTDuOnT59WQEBAjo8ZP368xo4da7+dlZWl8+fPq0KFCrLZbAWat6hLTk5WYGCg4uLi5O3tbXYcgNckCh1ek65jGIYuXryoqlWr5rlcoS4yHh4eCg0N1dq1a9WzZ09JV4vJ2rVrNWLEiBwf4+npKU9PT4cxX1/fAk5avHh7e/MfFIUKr0kUNrwmXSOvPTHXFOoiI0ljx47VoEGD1KJFC915552aNm2aLl26pMGDB5sdDQAAmKzQF5m+ffvq7NmzeuWVV5SQkKDbb79dK1euzDYBGAAAFD+FvshI0ogRI3I9lIRbx9PTU5GRkdkO3QFm4TWJwobX5K1nM250XhMAAEAhVagviAcAAJAXigwAALAsigwAALAsigwAALAsigwAALAsigwAALAsS1xHBgAkKT09XV5eXtq5c6caNWpkdhwgm8uXLys2NlZXrlxxGG/SpIlJiYo+igxu6Ndff9XChQtz/M/55ZdfmpQKxZG7u7tq1KihzMxMs6MADs6ePavBgwdrxYoVOd7Pa7bgcGgJeZo/f75atWql/fv3a+nSpUpPT9e+ffu0bt26fH2YF+Bq//znP/XSSy/p/PnzZkcB7EaPHq3ExET99NNP8vLy0sqVKzV79mzVrVtXy5YtMztekcaVfZGnJk2aaPjw4YqIiFC5cuW0a9cuBQUFafjw4apSpYqioqLMjohiplmzZjp8+LDS09NVs2ZNlSlTxuH+7du3m5QMxVmVKlX09ddf684775S3t7d+/fVX1atXT8uWLdPkyZO1ceNGsyMWWRxaQp6OHDmibt26SZI8PDx06dIl2Ww2jRkzRu3bt6fI4Jbr2bOn2RGAbC5duqTKlStLksqXL6+zZ8+qXr16aty4MeW6gFFkkKfy5cvr4sWLkqRq1app7969aty4sRITE3X58mWT06E4ioyMNDsCkE39+vV18OBB1apVS02bNtVHH32kWrVqacaMGapSpYrZ8Yo0igzy1LZtW61evVqNGzfWww8/rGeeeUbr1q3T6tWr1aFDB7PjoRjbtm2b9u/fL0m67bbb1KxZM5MToTh75plnFB8fL+lq2e7atavmzp0rDw8PzZo1y9xwRRxzZJCn8+fPKzU1VVWrVlVWVpYmT56szZs3q27dunr55ZdVvnx5syOimDlz5oz69eun9evXy9fXV5KUmJiodu3aaf78+apUqZK5AQFdPQ37wIEDqlGjhipWrGh2nCKNIgPAUvr27aujR49qzpw5CgkJkST99ttvGjRokIKDg/XFF1+YnBDArcTp18jT9u3btWfPHvvtr7/+Wj179tRLL72U7ZoywK2wcuVKffDBB/YSI0kNGzbU9OnTc72GB1DQevfurUmTJmUbnzx5sh5++GETEhUfFBnkafjw4YqJiZEkHT16VH379lXp0qW1aNEiPf/88yanQ3GUlZUld3f3bOPu7u7KysoyIREg/fDDD7rvvvuyjYeHh+uHH34wIVHxQZFBnmJiYnT77bdLkhYtWqR77rlH8+bN06xZs7RkyRJzw6FYat++vZ555hmdOnXKPnby5EmNGTOGCegwTUpKijw8PLKNu7u7Kzk52YRExQdFBnkyDMP+V+6aNWvsf3EEBgbqjz/+MDMaiqn//Oc/Sk5OVq1atVSnTh3VqVNHQUFBSk5O1vvvv292PBRTjRs31oIFC7KNz58/Xw0bNjQhUfHB6dfIU4sWLfT666+rY8eO2rBhgz788ENJ0rFjx+Tv729yOhRHgYGB2r59u9asWaMDBw5IkkJCQtSxY0eTk6E4mzBhgnr16qUjR46offv2kqS1a9fqiy++0KJFi0xOV7Rx1hLytHv3bg0YMECxsbEaO3as/WJkI0eO1Llz5zRv3jyTEwJA4bB8+XK98cYb2rlzp7y8vNSkSRNFRkbqnnvuMTtakUaRwU1JTU1ViRIlcpx0Cbjae++9l+9lR40aVYBJABQ2FBnky/VXUW3YsKGaN29uciIUJ0FBQflazmaz6ejRowWcBkBhQpFBns6cOaO+fftqw4YNXEUVAK7j5+enmJgYVaxYUeXLl5fNZst12fPnz9/CZMULk32Rp5EjRyolJUX79u3LdhXVUaNGcRVVmOra32F5/QIBCsrUqVNVrlw5SdK0adPMDVOMsUcGefLx8dGaNWt0xx13OIz//PPP6ty5sxITE80JhmJtzpw5euutt3To0CFJUr169TRu3Dg99thjJicDcKuxRwZ54iqqKGymTJmiCRMmaMSIEWrdurUkaePGjXryySf1xx9/aMyYMSYnRHGVlZWlw4cP68yZM9neH9u2bWtSqqKPPTLIU48ePZSYmKgvvvhCVatWlXT1KqoDBgxQ+fLltXTpUpMTorgJCgpSVFSUBg4c6DA+e/Zsvfrqqzp27JhJyVCcbd26Vf3799eJEyf011+rNptNmZmZJiUr+igyyFNcXJweeOAB7du3T4GBgfaxRo0aadmyZapevbrJCVHclCpVSnv37lVwcLDD+KFDh9S4cWOlpqaalAzF2e2336569eopKipKVapUyTZvy8fHx6RkRR+HlpAnrqKKwiY4OFgLFy7USy+95DC+YMEC1a1b16RUKO4OHTqkxYsXZyvYKHgUGeRpzpw56tu3rzp16qROnTrZx69cuaL58+dn270PFLSoqCj17dtXP/zwg32OzKZNm7R27VotXLjQ5HQorlq2bKnDhw9TZEzAoSXkqUSJEoqPj1flypUdxs+dO6fKlStz3Bem2LZtm6ZOnWq/SGNISIieffZZNWvWzORkKK6WLl2ql19+WePGjVPjxo2znSTRpEkTk5IVfRQZ5MnNzU2nT5/OduG7Xbt2qV27dlzkCQB09b3yr2w2mwzDYLJvAePQEnLUrFkz2Ww22Ww2dejQQSVL/u+lkpmZqWPHjqlr164mJkRx9d1336lEiRLq0qWLw/iqVauUlZWl8PBwk5KhOONsOfNQZJCjnj17SpJ27typLl26qGzZsvb7PDw8VKtWLfXu3dukdCjOXnzxRb355pvZxg3D0IsvvkiRgSlq1qxpdoRii0NLyNPs2bPVt29flSpVyuwogCTJy8tL+/fvV61atRzGjx8/rttuu02XLl0yJxiKnWXLlik8PFzu7u5atmxZnss+8MADtyhV8UORwQ0lJiZq8eLFOnLkiMaNGyc/Pz9t375d/v7+qlatmtnxUMwEBARo3rx5at++vcP4mjVr1L9/f505c8akZChu3NzclJCQoMqVK+c4R+Ya5sgULA4tIU+7d+9Wx44d5ePjo+PHj+uJJ56Qn5+fvvzyS8XGxmrOnDlmR0Qx06NHD40ePVpLly5VnTp1JEmHDx/Ws88+y1+9uKWu/xgCPrLFPLlXSEDSmDFj9Pjjj+vQoUMOh5fuu+8+/fDDDyYmQ3E1efJklSlTRg0aNFBQUJCCgoIUEhKiChUq6O233zY7HoBbjENLyJOPj4+2b9+uOnXqqFy5ctq1a5dq166tEydOqH79+lwOHqYwDEOrV6/Wrl275OXlpSZNmvChfDDVe++9l+O4zWZTqVKlFBwcrLZt26pEiRK3OFnRx6El5MnT01PJycnZxmNiYrJdWwa4VWw2mzp37qzOnTubHQWQJE2dOlVnz57V5cuXVb58eUnShQsXVLp0aZUtW1ZnzpxR7dq1FR0dbf/cOrgGe2SQp6FDh+rcuXNauHCh/Pz8tHv3bpUoUUI9e/ZU27ZtNW3aNLMjohh47733NGzYMJUqVSrXv3yvGTVq1C1KBfzPF198of/+97/65JNPHOZuDR8+XMOGDVPr1q3Vr18/BQQEaPHixSanLVooMshTUlKSHnroIf3666+6ePGiqlatqoSEBIWFhem7775TmTJlzI6IYiAoKEi//vqrKlSooKCgoFyXs9lsOnr06C1MBlxVp04dLVmyRLfffrvD+I4dO9S7d28dPXpUmzdvVu/evRUfH29OyCKKQ0vIk4+Pj1avXq1NmzZp165dSklJUfPmzfn0a9xS1181lSuoojCKj49XRkZGtvGMjAwlJCRIkqpWraqLFy/e6mhFHkUG+dK6dWv7Jw0nJiaaGwa4TmZmpvbs2aOaNWva5yYAt1q7du00fPhwffLJJ/YPL92xY4eeeuop+zWP9uzZk+ceRdwcTr9GniZNmqQFCxbYb/fp00cVKlRQtWrVtGvXLhOTobgaPXq0Pv30U0lXS0zbtm3VvHlzBQYGav369eaGQ7H16aefys/PT6GhofL09JSnp6datGghPz8/++u1bNmyeuedd0xOWvQwRwZ5CgoK0ty5c9WqVSutXr1affr00YIFC7Rw4ULFxsbq+++/Nzsiipnq1avrq6++UosWLfTVV18pIiJC0dHR+vzzz7Vu3Tpt2rTJ7IgoZgzDUFxcnCpVqqTY2FgdPHhQklS/fn3Vr1/f5HRFH0UGefLy8lJMTIwCAwP1zDPPKDU1VR999JFiYmLUsmVLXbhwweyIKGZKlSqlw4cPq3r16ho2bJhKly6tadOm6dixY2ratGmOlwsAClJWVpZKlSqlffv2qW7dumbHKXY4tIQ8lS9fXnFxcZKklStX2if5GobBZ4fAFP7+/vrtt9+UmZmplStXqlOnTpKky5cvc7ExmMLNzU1169bVuXPnzI5SLFFkkKdevXqpf//+6tSpk86dO6fw8HBJVyexBQcHm5wOxdHgwYPVp08fNWrUSDabzV6uf/rpJzVo0MDkdCiu3nzzTY0bN0579+41O0qxw6El5Ck9PV3vvvuu4uLi9Pjjj9tn40+dOlXlypXT0KFDTU6I4mjJkiWKjY3Vww8/rOrVq0uSZs+eLV9fX/Xo0cPkdCiOypcvr8uXLysjI0MeHh7y8vJyuP/8+fMmJSv6KDIALCM9PV1du3bVjBkzmIuAQmX27Nl53j9o0KBblKT4ocgg37y9vbVz507Vrl3b7CgoxipVqqTNmzdTZABIYo4MnEDnRWHw6KOP2q/LAZjp+jPkkpOT8/xCweHKvgAsJSMjQ5999pnWrFmj0NDQbJ/3NWXKFJOSobgpX7684uPjVblyZfn6+spms2VbxjAM2Ww2zvIsQBQZ5Nujjz4qb29vs2OgmNu7d6+aN28uSYqJiXG4L6dfJEBBWbdunfz8/Oz/5vVnDubIwGmJiYny9fU1OwYAAMyRQd74rCUUVocPH9aqVav0559/SmIOF8xVt25dvfrqqzp06JDZUYodigzyNGPGDAUGBkqSVq9erdWrV2vFihUKDw/XuHHjTE6H4ujcuXPq0KGD6tWrp/vuu0/x8fGSpCFDhujZZ581OR2Kq6efflrLly9XgwYNdMcdd+jdd99VQkKC2bGKBYoM8pSQkGAvMt9++6369Omjzp076/nnn9cvv/xicjoUR2PGjJG7u7tiY2NVunRp+3jfvn21cuVKE5OhOBszZox++eUX7d+/X/fdd5+mT5+uwMBAde7cWXPmzDE7XpFGkUGe+KwlFDbff/+9Jk2aZL+i7zV169bViRMnTEoFXFWvXj1FRUUpJiZGP/74o86ePavBgwebHatI46wl5OnaZy1d+0A0PmsJZrt06ZLDnphrzp8/L09PTxMSAY5+/vlnzZs3TwsWLFBycrIefvhhsyMVaeyRQZ6mTp2qESNGqGHDhlq9erXKli0rSYqPj9fTTz9tcjoUR23atHHYVW+z2ZSVlaXJkyerXbt2JiZDcRYTE6PIyEjVq1dPrVu31v79+zVp0iSdPn1a8+fPNztekcbp1wAsZe/everQoYOaN2+udevW6YEHHtC+fft0/vx5bdq0SXXq1DE7IoohNzc33XHHHerfv7/69esnf39/syMVGxQZZLNs2TKFh4fL3d1dy5Yty3PZBx544BalAv4nKSlJ//nPf7Rr1y6lpKSoefPmioiIUJUqVcyOhmLq0KFDfP6XSSgyyMbNzU0JCQmqXLmy3NxyP/rIZbcBIDs+YPfWYo4MssnKylLlypXt/87tixIDMwQHB3PhMRRq7B+4tSgyyFV6ero6dOjALwwUKhEREVq+fLnq16/PhccAUGSQO3d3d+3evdvsGICDaxceO3DgABceQ6HEB+zeWsyRQZ7GjBkjT09Pvfnmm2ZHAXK1detWPfXUU9q9ezeHPFFo8AG7twYXxEOeMjIy9Nlnn2nNmjUKDQ1VmTJlHO6fMmWKSckALjyGwmPSpEmqVauW+vbtK+nqB+wuWbJEAQEB+u6779S0aVOTExZd7JFBnm50gbHo6OhblAS4KiYmRnPnztUXX3yhY8eOqX379howYIB69eplv2AjcKsFBQVp7ty5atWqlVavXq0+ffpowYIFWrhwoWJjY/X999+bHbHIosgAsBQuPIbCyMvLSzExMQoMDNQzzzyj1NRUffTRR4qJiVHLli114cIFsyMWWRxaQo569ep1w2VsNpuWLFlyC9IA/3Pw4EEuPIZC59oH7AYGBmrlypV6/fXXJfEBu7cCRQY58vHxMTsCkKPrSwwXHkNhwQfsmocigxzNnDnT7AjADXFkHIXF1KlTVatWLcXFxWny5Ml8wO4txBwZAJZVrlw57dq1iz0yQDHGHhkAlsWFx2AmPmC3cGCPDADL48JjMAMfsFs48BEFACxl0qRJWrBggf12nz59VKFCBVWrVk27du0yMRmKGz5gt3CgyACwlBkzZigwMFCStHr1aq1evVorVqxQeHi4xo0bZ3I6FEd8wK65mCMDwFISEhLsRebbb79Vnz591LlzZ9WqVUstW7Y0OR2KIz5g11zskQFgKdcuPCZJK1euVMeOHSVx4TGY69FHH9Wnn35qdoxiiT0yACyFC4+hMOIDds1DkQFgKVx4DIXR3r171bx5c0lXP9gUtw6nXwMAAMtijwyAQo8Lj6Gw4gN2zUeRAVDo9ezZ037hsZ49e+a6HBcew63GB+yaj0NLAADAsjj9GoBlcOExAH9FkQFgGVx4DMBfUWQAWAoXHgNwPSb7ArAULjwG4HpM9gVgKe3atcvz/ujo6FuUBEBhQJEBAACWxaElAJbAhccA5IQiA8ASuPAYgJxwaAkAAFgWp18DAADLosgAAADLosgAAADLosgAKHLWr18vm82mxMTEv7We//73vwoMDJSbm5umTZumV199VbfffrtLMgJwDYoMAOQgOTlZI0aM0AsvvKCTJ09q2LBhZkcCkANOvwaAHMTGxio9PV3dunVTlSpVbtl2MzMzZbPZ5ObG35lAfvA/BShGsrKyNHHiRAUFBcnLy0tNmzbV4sWL7fdfuHBBAwYMUKVKleTl5aW6detq5syZkqTjx4/LZrNp/vz5atWqlUqVKqVGjRppw4YNDtvYu3evwsPDVbZsWfn7++uxxx7TH3/84ZBh8uTJCg4Olqenp2rUqKF///vf9vvj4uLUp08f+fr6ys/PTz169NDx48fzfF7fffed6tWrJy8vL7Vr1y7H5Tdu3Kg2bdrIy8tLgYGBGjVqlC5dupTj+mbNmqXGjRtLkmrXri2bzZZrhk8++UQhISEqVaqUGjRooA8++MB+X06HuHbu3OmwvlmzZsnX11fLli1Tw4YN5enpqdjY2DyfL4D/ocgAxcjEiRM1Z84czZgxQ/v27dOYMWP06KOP2svIhAkT9Ntvv2nFihXav3+/PvzwQ1WsWNFhHePGjdOzzz6rHTt2KCwsTN27d9e5c+ckSYmJiWrfvr2aNWumX3/9VStXrtTp06fVp08f++PHjx+vN998076tefPmyd/fX5KUnp6uLl26qFy5cvrxxx+1adMmlS1bVl27dtWVK1dyfE5xcXHq1auXunfvrp07d2ro0KF68cUXHZY5cuSIunbtqt69e2v37t1asGCBNm7cqBEjRuS4zr59+2rNmjWSpJ9//lnx8fEKDAzMttzcuXP1yiuv6N///rf279+vN954QxMmTNDs2bPz8+Owu3z5siZNmqRPPvlE+/btU+XKlZ16PFCsGQCKhdTUVKN06dLG5s2bHcaHDBliPPLII4ZhGEb37t2NwYMH5/j4Y8eOGZKMN9980z6Wnp5uVK9e3Zg0aZJhGIbxr3/9y+jcubPD4+Li4gxJxsGDB43k5GTD09PT+Pjjj3Pcxueff27Ur1/fyMrKso+lpaUZXl5exqpVq3J8zPjx442GDRs6jL3wwguGJOPChQv25zhs2DCHZX788UfDzc3N+PPPP3Nc744dOwxJxrFjx+xjkZGRRtOmTe2369SpY8ybN8/hcf/617+MsLAwwzAMIzo62iFHTuudOXOmIcnYuXNnjjkA5I05MkAxcfjwYV2+fFmdOnVyGL9y5YqaNWsmSXrqqafUu3dvbd++XZ07d1bPnj3VqlUrh+XDwsLs/y5ZsqRatGih/fv3S5J27dql6OholS1bNtv2jxw5osTERKWlpalDhw45Zty1a5cOHz6scuXKOYynpqbqyJEjOT5m//79atmyZa4Zr6139+7dmjt3rn3MMAxlZWXp2LFjCgkJyXHdebl06ZKOHDmiIUOG6IknnrCPZ2RkOP1xCh4eHmrSpInTGQAw2RcoNlJSUiRJy5cvV7Vq1Rzu8/T0lCSFh4frxIkT+u6777R69Wp16NBBERERevvtt/O9je7du2vSpEnZ7qtSpYqOHj16w8eHhoY6FI5rKlWqlK8Mua13+PDhGjVqVLb7atSocdPrlKSPP/44W5EqUaKEJNkn7BrXfRJMenp6tnV5eXnJZrPdVA6guKPIAMXE9RNJ77nnnlyXq1SpkgYNGqRBgwapTZs2GjdunEOR2bp1q9q2bSvp6t6Hbdu22eeaNG/eXEuWLFGtWrVUsmT2t5e6devKy8tLa9eu1dChQ7Pd37x5cy1YsECVK1eWt7d3vp5XSEiIli1b5jC2devWbOv97bffFBwcnK915oe/v7+qVq2qo0ePasCAATkuc618xcfHq3z58pKuTvYF4DpM9gWKiXLlyum5557TmDFjNHv2bB05ckTbt2/X+++/b5+c+sorr+jrr7/W4cOHtW/fPn377bfZDrtMnz5dS5cu1YEDBxQREaELFy7oH//4hyQpIiJC58+f1yOPPKJffvlFR44c0apVqzR48GBlZmaqVKlSeuGFF/T8889rzpw5OnLkiLZu3apPP/1UkjRgwABVrFhRPXr00I8//qhjx45p/fr1GjVqlH7//fccn9eTTz6pQ4cOady4cTp48KDmzZunWbNmOSzzwgsvaPPmzRoxYoR27typQ4cO6euvv851sm9+RUVFaeLEiXrvvfcUExOjPXv2aObMmZoyZYokKTg4WIGBgXr11Vd16NAhLV++XO+8887f2iaAvzB7kg6AWycrK8uYNm2aUb9+fcPd3d2oVKmS0aVLF2PDhg2GYVydqBoSEmJ4eXkZfn5+Ro8ePYyjR48ahvG/yb7z5s0z7rzzTsPDw8No2LChsW7dOodtxMTEGA8++KDh6+treHl5GQ0aNDBGjx5tn8CbmZlpvP7660bNmjUNd3d3o0aNGsYbb7xhf3x8fLwxcOBAo2LFioanp6dRu3Zt44knnjCSkpJyfV7ffPONERwcbHh6ehpt2rQxPvvss2yTbH/++WejU6dORtmyZY0yZcoYTZo0Mf7973/nus78TPY1DMOYO3eucfvttxseHh5G+fLljbZt2xpffvml/f6NGzcajRs3NkqVKmW0adPGWLRoUbbJvj4+PrnmAJA3m2Fcd/AWAHJx/PhxBQUFaceOHVymH0ChwaElAABgWRQZAABgWRxaAgAAlsUeGQAAYFkUGQAAYFkUGQAAYFkUGQAAYFkUGQAAYFkUGQAAYFkUGQAAYFkUGQAAYFkUGQAAYFn/DzQ48t4lcJ0kAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Diagramme en barres pour le nombre de fleurs par especes\n", "nbfleurParespece = df['Species'].value_counts()\n", "nbfleurParespece.plot(kind = 'bar', color = ['blue', 'green', 'red'])\n", "plt.title(\"nombre de fleurs par espece\")\n", "plt.xlabel('espece de fleur')\n", "plt.ylabel('nombre de fleurs')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "ceaa7c6c-b05c-424c-a5a5-7dfeb5b783f1", "metadata": {}, "source": [ "5. conclusion sur la distribution des espèces dans dataset Iris.csv" ] }, { "cell_type": "markdown", "id": "83d9e79a-7335-4c01-9f02-129d3ec294fe", "metadata": {}, "source": [ "- On remarque que la répartition de données est uniforme et égale pour les 3 éspèces" ] }, { "cell_type": "markdown", "id": "d84df442-e377-4c1e-bafb-ae166f52a7d7", "metadata": {}, "source": [ "6. Convertission des colonnes catégorielles qui contiennent des informations répétitives en\n", "format approprié" ] }, { "cell_type": "code", "execution_count": 13, "id": "ab4a523b-c893-4019-9cbd-989c2b27b201", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies_Iris-setosaSpecies_Iris-versicolorSpecies_Iris-virginica
015.13.51.40.2TrueFalseFalse
124.93.01.40.2TrueFalseFalse
234.73.21.30.2TrueFalseFalse
344.63.11.50.2TrueFalseFalse
455.03.61.40.2TrueFalseFalse
...........................
1451466.73.05.22.3FalseFalseTrue
1461476.32.55.01.9FalseFalseTrue
1471486.53.05.22.0FalseFalseTrue
1481496.23.45.42.3FalseFalseTrue
1491505.93.05.11.8FalseFalseTrue
\n", "

150 rows × 8 columns

\n", "
" ], "text/plain": [ " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \\\n", "0 1 5.1 3.5 1.4 0.2 \n", "1 2 4.9 3.0 1.4 0.2 \n", "2 3 4.7 3.2 1.3 0.2 \n", "3 4 4.6 3.1 1.5 0.2 \n", "4 5 5.0 3.6 1.4 0.2 \n", ".. ... ... ... ... ... \n", "145 146 6.7 3.0 5.2 2.3 \n", "146 147 6.3 2.5 5.0 1.9 \n", "147 148 6.5 3.0 5.2 2.0 \n", "148 149 6.2 3.4 5.4 2.3 \n", "149 150 5.9 3.0 5.1 1.8 \n", "\n", " Species_Iris-setosa Species_Iris-versicolor Species_Iris-virginica \n", "0 True False False \n", "1 True False False \n", "2 True False False \n", "3 True False False \n", "4 True False False \n", ".. ... ... ... \n", "145 False False True \n", "146 False False True \n", "147 False False True \n", "148 False False True \n", "149 False False True \n", "\n", "[150 rows x 8 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.get_dummies(df, columns=['Species'])" ] }, { "cell_type": "code", "execution_count": null, "id": "8ad2d145-6fc2-43d5-8ea0-6fe24976859b", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.2" } }, "nbformat": 4, "nbformat_minor": 5 }