diff --git a/STATES.ipynb b/STATES.ipynb
new file mode 100644
index 0000000..b198841
--- /dev/null
+++ b/STATES.ipynb
@@ -0,0 +1,1978 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states=pd.read_csv(\"states.csv\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Unnamed: 0 | \n",
+ " Unnamed: 1 | \n",
+ " State | \n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l | \n",
+ " CONDUCTIVITY (µmhos/cm) : Mean | \n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml | \n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean | \n",
+ " TEMPERATURE ºC : Mean | \n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml | \n",
+ " pH : Mean : 6.5-8.5 | \n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l_imp | \n",
+ " CONDUCTIVITY (µmhos/cm) : Mean_imp | \n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp | \n",
+ " TEMPERATURE ºC : Mean_imp | \n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " NaN | \n",
+ " 0 | \n",
+ " andhra_pradesh | \n",
+ " 6.828362 | \n",
+ " 1739.200000 | \n",
+ " 446.625451 | \n",
+ " 3.053333 | \n",
+ " 20.880000 | \n",
+ " 828.111645 | \n",
+ " 7.606667 | \n",
+ " 6.814779 | \n",
+ " 1739.200000 | \n",
+ " 478.928111 | \n",
+ " 20.880000 | \n",
+ " 1007.247458 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " NaN | \n",
+ " 1 | \n",
+ " assam | \n",
+ " 1.322581 | \n",
+ " 620.419355 | \n",
+ " 236.645161 | \n",
+ " 2.919355 | \n",
+ " 24.258065 | \n",
+ " 3947.258065 | \n",
+ " 6.509677 | \n",
+ " 1.322581 | \n",
+ " 620.419355 | \n",
+ " 236.645161 | \n",
+ " 24.258065 | \n",
+ " 3947.258065 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " NaN | \n",
+ " 2 | \n",
+ " bihar | \n",
+ " 2.738510 | \n",
+ " 926.022177 | \n",
+ " 235.790368 | \n",
+ " 0.000000 | \n",
+ " 24.560976 | \n",
+ " 825.871095 | \n",
+ " 7.478049 | \n",
+ " 2.623894 | \n",
+ " 922.836645 | \n",
+ " 243.963583 | \n",
+ " 24.560976 | \n",
+ " 899.515502 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " NaN | \n",
+ " 3 | \n",
+ " chattissgarh | \n",
+ " 1.422900 | \n",
+ " 894.067544 | \n",
+ " 942.257318 | \n",
+ " 0.490000 | \n",
+ " 27.066654 | \n",
+ " 415.843539 | \n",
+ " 7.310000 | \n",
+ " 1.404779 | \n",
+ " 893.665784 | \n",
+ " 1088.834101 | \n",
+ " 27.067244 | \n",
+ " 419.123729 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " NaN | \n",
+ " 4 | \n",
+ " daman_diu_dadra_nagar_haveli | \n",
+ " 4.345917 | \n",
+ " 1896.666667 | \n",
+ " 569.464280 | \n",
+ " 3.058333 | \n",
+ " 31.350000 | \n",
+ " 1539.934531 | \n",
+ " 6.925000 | \n",
+ " 4.134587 | \n",
+ " 1896.666667 | \n",
+ " 637.069892 | \n",
+ " 31.350000 | \n",
+ " 1697.598870 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Unnamed: 0 Unnamed: 1 State \\\n",
+ "0 NaN 0 andhra_pradesh \n",
+ "1 NaN 1 assam \n",
+ "2 NaN 2 bihar \n",
+ "3 NaN 3 chattissgarh \n",
+ "4 NaN 4 daman_diu_dadra_nagar_haveli \n",
+ "\n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l CONDUCTIVITY (µmhos/cm) : Mean \\\n",
+ "0 6.828362 1739.200000 \n",
+ "1 1.322581 620.419355 \n",
+ "2 2.738510 926.022177 \n",
+ "3 1.422900 894.067544 \n",
+ "4 4.345917 1896.666667 \n",
+ "\n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml \\\n",
+ "0 446.625451 \n",
+ "1 236.645161 \n",
+ "2 235.790368 \n",
+ "3 942.257318 \n",
+ "4 569.464280 \n",
+ "\n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean TEMPERATURE ºC : Mean \\\n",
+ "0 3.053333 20.880000 \n",
+ "1 2.919355 24.258065 \n",
+ "2 0.000000 24.560976 \n",
+ "3 0.490000 27.066654 \n",
+ "4 3.058333 31.350000 \n",
+ "\n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml pH : Mean : 6.5-8.5 \\\n",
+ "0 828.111645 7.606667 \n",
+ "1 3947.258065 6.509677 \n",
+ "2 825.871095 7.478049 \n",
+ "3 415.843539 7.310000 \n",
+ "4 1539.934531 6.925000 \n",
+ "\n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l_imp CONDUCTIVITY (µmhos/cm) : Mean_imp \\\n",
+ "0 6.814779 1739.200000 \n",
+ "1 1.322581 620.419355 \n",
+ "2 2.623894 922.836645 \n",
+ "3 1.404779 893.665784 \n",
+ "4 4.134587 1896.666667 \n",
+ "\n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp \\\n",
+ "0 478.928111 \n",
+ "1 236.645161 \n",
+ "2 243.963583 \n",
+ "3 1088.834101 \n",
+ "4 637.069892 \n",
+ "\n",
+ " TEMPERATURE ºC : Mean_imp \\\n",
+ "0 20.880000 \n",
+ "1 24.258065 \n",
+ "2 24.560976 \n",
+ "3 27.067244 \n",
+ "4 31.350000 \n",
+ "\n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp \n",
+ "0 1007.247458 \n",
+ "1 3947.258065 \n",
+ "2 899.515502 \n",
+ "3 419.123729 \n",
+ "4 1697.598870 "
+ ]
+ },
+ "execution_count": 68,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Unnamed: 0 18\n",
+ "Unnamed: 1 0\n",
+ "State 0\n",
+ "B.O.D. (mg/l) : Mean : < 3 mg/l 0\n",
+ "CONDUCTIVITY (µmhos/cm) : Mean 0\n",
+ "FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml 0\n",
+ "NITRATE- N+ NITRITE-N (mg/l) : Mean 0\n",
+ "TEMPERATURE ºC : Mean 0\n",
+ "TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml 0\n",
+ "pH : Mean : 6.5-8.5 0\n",
+ "B.O.D. (mg/l) : Mean : < 3 mg/l_imp 0\n",
+ "CONDUCTIVITY (µmhos/cm) : Mean_imp 0\n",
+ "FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp 0\n",
+ "TEMPERATURE ºC : Mean_imp 0\n",
+ "TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 69,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 18 entries, 0 to 17\n",
+ "Data columns (total 15 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Unnamed: 0 0 non-null float64\n",
+ " 1 Unnamed: 1 18 non-null int64 \n",
+ " 2 State 18 non-null object \n",
+ " 3 B.O.D. (mg/l) : Mean : < 3 mg/l 18 non-null float64\n",
+ " 4 CONDUCTIVITY (µmhos/cm) : Mean 18 non-null float64\n",
+ " 5 FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml 18 non-null float64\n",
+ " 6 NITRATE- N+ NITRITE-N (mg/l) : Mean 18 non-null float64\n",
+ " 7 TEMPERATURE ºC : Mean 18 non-null float64\n",
+ " 8 TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml 18 non-null float64\n",
+ " 9 pH : Mean : 6.5-8.5 18 non-null float64\n",
+ " 10 B.O.D. (mg/l) : Mean : < 3 mg/l_imp 18 non-null float64\n",
+ " 11 CONDUCTIVITY (µmhos/cm) : Mean_imp 18 non-null float64\n",
+ " 12 FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp 18 non-null float64\n",
+ " 13 TEMPERATURE ºC : Mean_imp 18 non-null float64\n",
+ " 14 TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp 18 non-null float64\n",
+ "dtypes: float64(13), int64(1), object(1)\n",
+ "memory usage: 2.2+ KB\n"
+ ]
+ }
+ ],
+ "source": [
+ "states.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(18, 15)"
+ ]
+ },
+ "execution_count": 71,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.drop(['Unnamed: 0','Unnamed: 1'],axis=1,inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(18, 13)"
+ ]
+ },
+ "execution_count": 73,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l | \n",
+ " CONDUCTIVITY (µmhos/cm) : Mean | \n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml | \n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean | \n",
+ " TEMPERATURE ºC : Mean | \n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml | \n",
+ " pH : Mean : 6.5-8.5 | \n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l_imp | \n",
+ " CONDUCTIVITY (µmhos/cm) : Mean_imp | \n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp | \n",
+ " TEMPERATURE ºC : Mean_imp | \n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " count | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ "
\n",
+ " \n",
+ " mean | \n",
+ " 3.673686 | \n",
+ " 1154.190498 | \n",
+ " 1455.808117 | \n",
+ " 2.568416 | \n",
+ " 26.776271 | \n",
+ " 6141.228963 | \n",
+ " 7.503967 | \n",
+ " 2.912197 | \n",
+ " 1153.991204 | \n",
+ " 1508.071255 | \n",
+ " 26.776578 | \n",
+ " 6288.364806 | \n",
+ "
\n",
+ " \n",
+ " std | \n",
+ " 3.912997 | \n",
+ " 784.323956 | \n",
+ " 2482.015727 | \n",
+ " 2.804165 | \n",
+ " 3.202736 | \n",
+ " 14717.983523 | \n",
+ " 1.048730 | \n",
+ " 2.517220 | \n",
+ " 784.386663 | \n",
+ " 2476.054277 | \n",
+ " 3.202606 | \n",
+ " 14695.033801 | \n",
+ "
\n",
+ " \n",
+ " min | \n",
+ " 0.810286 | \n",
+ " 184.000000 | \n",
+ " 174.117647 | \n",
+ " 0.000000 | \n",
+ " 19.994794 | \n",
+ " 66.555950 | \n",
+ " 6.509677 | \n",
+ " 0.810597 | \n",
+ " 184.000000 | \n",
+ " 174.117647 | \n",
+ " 19.998798 | \n",
+ " 73.177352 | \n",
+ "
\n",
+ " \n",
+ " 25% | \n",
+ " 1.347661 | \n",
+ " 669.092294 | \n",
+ " 425.030847 | \n",
+ " 0.624941 | \n",
+ " 24.890468 | \n",
+ " 891.176854 | \n",
+ " 7.140658 | \n",
+ " 1.343130 | \n",
+ " 669.092294 | \n",
+ " 447.651605 | \n",
+ " 24.888841 | \n",
+ " 995.518079 | \n",
+ "
\n",
+ " \n",
+ " 50% | \n",
+ " 2.657462 | \n",
+ " 984.851407 | \n",
+ " 763.733149 | \n",
+ " 1.906543 | \n",
+ " 27.254756 | \n",
+ " 1964.296124 | \n",
+ " 7.408865 | \n",
+ " 2.623894 | \n",
+ " 984.851407 | \n",
+ " 810.619381 | \n",
+ " 27.255050 | \n",
+ " 2140.053492 | \n",
+ "
\n",
+ " \n",
+ " 75% | \n",
+ " 3.970456 | \n",
+ " 1285.284211 | \n",
+ " 957.370173 | \n",
+ " 3.057083 | \n",
+ " 29.212924 | \n",
+ " 3544.975379 | \n",
+ " 7.596071 | \n",
+ " 2.727149 | \n",
+ " 1285.284211 | \n",
+ " 1088.834101 | \n",
+ " 29.214785 | \n",
+ " 4022.992482 | \n",
+ "
\n",
+ " \n",
+ " max | \n",
+ " 15.649522 | \n",
+ " 3625.507246 | \n",
+ " 10023.157508 | \n",
+ " 11.338710 | \n",
+ " 31.350000 | \n",
+ " 63480.923077 | \n",
+ " 11.407692 | \n",
+ " 10.979962 | \n",
+ " 3625.507246 | \n",
+ " 10057.389247 | \n",
+ " 31.350000 | \n",
+ " 63480.923077 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " B.O.D. (mg/l) : Mean : < 3 mg/l CONDUCTIVITY (µmhos/cm) : Mean \\\n",
+ "count 18.000000 18.000000 \n",
+ "mean 3.673686 1154.190498 \n",
+ "std 3.912997 784.323956 \n",
+ "min 0.810286 184.000000 \n",
+ "25% 1.347661 669.092294 \n",
+ "50% 2.657462 984.851407 \n",
+ "75% 3.970456 1285.284211 \n",
+ "max 15.649522 3625.507246 \n",
+ "\n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml \\\n",
+ "count 18.000000 \n",
+ "mean 1455.808117 \n",
+ "std 2482.015727 \n",
+ "min 174.117647 \n",
+ "25% 425.030847 \n",
+ "50% 763.733149 \n",
+ "75% 957.370173 \n",
+ "max 10023.157508 \n",
+ "\n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean TEMPERATURE ºC : Mean \\\n",
+ "count 18.000000 18.000000 \n",
+ "mean 2.568416 26.776271 \n",
+ "std 2.804165 3.202736 \n",
+ "min 0.000000 19.994794 \n",
+ "25% 0.624941 24.890468 \n",
+ "50% 1.906543 27.254756 \n",
+ "75% 3.057083 29.212924 \n",
+ "max 11.338710 31.350000 \n",
+ "\n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml \\\n",
+ "count 18.000000 \n",
+ "mean 6141.228963 \n",
+ "std 14717.983523 \n",
+ "min 66.555950 \n",
+ "25% 891.176854 \n",
+ "50% 1964.296124 \n",
+ "75% 3544.975379 \n",
+ "max 63480.923077 \n",
+ "\n",
+ " pH : Mean : 6.5-8.5 B.O.D. (mg/l) : Mean : < 3 mg/l_imp \\\n",
+ "count 18.000000 18.000000 \n",
+ "mean 7.503967 2.912197 \n",
+ "std 1.048730 2.517220 \n",
+ "min 6.509677 0.810597 \n",
+ "25% 7.140658 1.343130 \n",
+ "50% 7.408865 2.623894 \n",
+ "75% 7.596071 2.727149 \n",
+ "max 11.407692 10.979962 \n",
+ "\n",
+ " CONDUCTIVITY (µmhos/cm) : Mean_imp \\\n",
+ "count 18.000000 \n",
+ "mean 1153.991204 \n",
+ "std 784.386663 \n",
+ "min 184.000000 \n",
+ "25% 669.092294 \n",
+ "50% 984.851407 \n",
+ "75% 1285.284211 \n",
+ "max 3625.507246 \n",
+ "\n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp \\\n",
+ "count 18.000000 \n",
+ "mean 1508.071255 \n",
+ "std 2476.054277 \n",
+ "min 174.117647 \n",
+ "25% 447.651605 \n",
+ "50% 810.619381 \n",
+ "75% 1088.834101 \n",
+ "max 10057.389247 \n",
+ "\n",
+ " TEMPERATURE ºC : Mean_imp \\\n",
+ "count 18.000000 \n",
+ "mean 26.776578 \n",
+ "std 3.202606 \n",
+ "min 19.998798 \n",
+ "25% 24.888841 \n",
+ "50% 27.255050 \n",
+ "75% 29.214785 \n",
+ "max 31.350000 \n",
+ "\n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp \n",
+ "count 18.000000 \n",
+ "mean 6288.364806 \n",
+ "std 14695.033801 \n",
+ "min 73.177352 \n",
+ "25% 995.518079 \n",
+ "50% 2140.053492 \n",
+ "75% 4022.992482 \n",
+ "max 63480.923077 "
+ ]
+ },
+ "execution_count": 74,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.describe()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 75,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.drop(['B.O.D. (mg/l) : Mean : < 3 mg/l_imp'],axis=1,inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.drop(['CONDUCTIVITY (µmhos/cm) : Mean_imp'],axis=1,inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.drop(['FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml_imp'],axis=1,inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 78,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.drop(['TEMPERATURE ºC : Mean_imp'],axis=1,inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.drop(['TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml_imp'],axis=1,inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 80,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(18, 8)"
+ ]
+ },
+ "execution_count": 80,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 81,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " State | \n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l | \n",
+ " CONDUCTIVITY (µmhos/cm) : Mean | \n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml | \n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean | \n",
+ " TEMPERATURE ºC : Mean | \n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml | \n",
+ " pH : Mean : 6.5-8.5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " andhra_pradesh | \n",
+ " 6.828362 | \n",
+ " 1739.200000 | \n",
+ " 446.625451 | \n",
+ " 3.053333 | \n",
+ " 20.880000 | \n",
+ " 828.111645 | \n",
+ " 7.606667 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " assam | \n",
+ " 1.322581 | \n",
+ " 620.419355 | \n",
+ " 236.645161 | \n",
+ " 2.919355 | \n",
+ " 24.258065 | \n",
+ " 3947.258065 | \n",
+ " 6.509677 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " bihar | \n",
+ " 2.738510 | \n",
+ " 926.022177 | \n",
+ " 235.790368 | \n",
+ " 0.000000 | \n",
+ " 24.560976 | \n",
+ " 825.871095 | \n",
+ " 7.478049 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " chattissgarh | \n",
+ " 1.422900 | \n",
+ " 894.067544 | \n",
+ " 942.257318 | \n",
+ " 0.490000 | \n",
+ " 27.066654 | \n",
+ " 415.843539 | \n",
+ " 7.310000 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " daman_diu_dadra_nagar_haveli | \n",
+ " 4.345917 | \n",
+ " 1896.666667 | \n",
+ " 569.464280 | \n",
+ " 3.058333 | \n",
+ " 31.350000 | \n",
+ " 1539.934531 | \n",
+ " 6.925000 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " goa | \n",
+ " 0.977778 | \n",
+ " 815.111111 | \n",
+ " 271.813715 | \n",
+ " 0.744444 | \n",
+ " 30.666667 | \n",
+ " 1086.510065 | \n",
+ " 6.611111 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " himachal_pradesh | \n",
+ " 0.810286 | \n",
+ " 579.975000 | \n",
+ " 861.404238 | \n",
+ " 1.480000 | \n",
+ " 19.994794 | \n",
+ " 3228.132263 | \n",
+ " 7.622500 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " kerala | \n",
+ " 2.626471 | \n",
+ " 250.058824 | \n",
+ " 174.117647 | \n",
+ " 2.685294 | \n",
+ " 27.444118 | \n",
+ " 387.852941 | \n",
+ " 6.529412 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " lakshadweep | \n",
+ " 15.649522 | \n",
+ " 1229.769231 | \n",
+ " 5854.153846 | \n",
+ " 0.000000 | \n",
+ " 29.769231 | \n",
+ " 63480.923077 | \n",
+ " 11.407692 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " madhya_pradesh | \n",
+ " 11.006935 | \n",
+ " 1721.000000 | \n",
+ " 882.308718 | \n",
+ " 7.135714 | \n",
+ " 28.658078 | \n",
+ " 1080.372480 | \n",
+ " 7.564286 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " State B.O.D. (mg/l) : Mean : < 3 mg/l \\\n",
+ "0 andhra_pradesh 6.828362 \n",
+ "1 assam 1.322581 \n",
+ "2 bihar 2.738510 \n",
+ "3 chattissgarh 1.422900 \n",
+ "4 daman_diu_dadra_nagar_haveli 4.345917 \n",
+ "5 goa 0.977778 \n",
+ "6 himachal_pradesh 0.810286 \n",
+ "7 kerala 2.626471 \n",
+ "8 lakshadweep 15.649522 \n",
+ "9 madhya_pradesh 11.006935 \n",
+ "\n",
+ " CONDUCTIVITY (µmhos/cm) : Mean \\\n",
+ "0 1739.200000 \n",
+ "1 620.419355 \n",
+ "2 926.022177 \n",
+ "3 894.067544 \n",
+ "4 1896.666667 \n",
+ "5 815.111111 \n",
+ "6 579.975000 \n",
+ "7 250.058824 \n",
+ "8 1229.769231 \n",
+ "9 1721.000000 \n",
+ "\n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml \\\n",
+ "0 446.625451 \n",
+ "1 236.645161 \n",
+ "2 235.790368 \n",
+ "3 942.257318 \n",
+ "4 569.464280 \n",
+ "5 271.813715 \n",
+ "6 861.404238 \n",
+ "7 174.117647 \n",
+ "8 5854.153846 \n",
+ "9 882.308718 \n",
+ "\n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean TEMPERATURE ºC : Mean \\\n",
+ "0 3.053333 20.880000 \n",
+ "1 2.919355 24.258065 \n",
+ "2 0.000000 24.560976 \n",
+ "3 0.490000 27.066654 \n",
+ "4 3.058333 31.350000 \n",
+ "5 0.744444 30.666667 \n",
+ "6 1.480000 19.994794 \n",
+ "7 2.685294 27.444118 \n",
+ "8 0.000000 29.769231 \n",
+ "9 7.135714 28.658078 \n",
+ "\n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml pH : Mean : 6.5-8.5 \n",
+ "0 828.111645 7.606667 \n",
+ "1 3947.258065 6.509677 \n",
+ "2 825.871095 7.478049 \n",
+ "3 415.843539 7.310000 \n",
+ "4 1539.934531 6.925000 \n",
+ "5 1086.510065 6.611111 \n",
+ "6 3228.132263 7.622500 \n",
+ "7 387.852941 6.529412 \n",
+ "8 63480.923077 11.407692 \n",
+ "9 1080.372480 7.564286 "
+ ]
+ },
+ "execution_count": 81,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 82,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " B.O.D. (mg/l) : Mean : < 3 mg/l | \n",
+ " CONDUCTIVITY (µmhos/cm) : Mean | \n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml | \n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean | \n",
+ " TEMPERATURE ºC : Mean | \n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml | \n",
+ " pH : Mean : 6.5-8.5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " count | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ " 18.000000 | \n",
+ "
\n",
+ " \n",
+ " mean | \n",
+ " 3.673686 | \n",
+ " 1154.190498 | \n",
+ " 1455.808117 | \n",
+ " 2.568416 | \n",
+ " 26.776271 | \n",
+ " 6141.228963 | \n",
+ " 7.503967 | \n",
+ "
\n",
+ " \n",
+ " std | \n",
+ " 3.912997 | \n",
+ " 784.323956 | \n",
+ " 2482.015727 | \n",
+ " 2.804165 | \n",
+ " 3.202736 | \n",
+ " 14717.983523 | \n",
+ " 1.048730 | \n",
+ "
\n",
+ " \n",
+ " min | \n",
+ " 0.810286 | \n",
+ " 184.000000 | \n",
+ " 174.117647 | \n",
+ " 0.000000 | \n",
+ " 19.994794 | \n",
+ " 66.555950 | \n",
+ " 6.509677 | \n",
+ "
\n",
+ " \n",
+ " 25% | \n",
+ " 1.347661 | \n",
+ " 669.092294 | \n",
+ " 425.030847 | \n",
+ " 0.624941 | \n",
+ " 24.890468 | \n",
+ " 891.176854 | \n",
+ " 7.140658 | \n",
+ "
\n",
+ " \n",
+ " 50% | \n",
+ " 2.657462 | \n",
+ " 984.851407 | \n",
+ " 763.733149 | \n",
+ " 1.906543 | \n",
+ " 27.254756 | \n",
+ " 1964.296124 | \n",
+ " 7.408865 | \n",
+ "
\n",
+ " \n",
+ " 75% | \n",
+ " 3.970456 | \n",
+ " 1285.284211 | \n",
+ " 957.370173 | \n",
+ " 3.057083 | \n",
+ " 29.212924 | \n",
+ " 3544.975379 | \n",
+ " 7.596071 | \n",
+ "
\n",
+ " \n",
+ " max | \n",
+ " 15.649522 | \n",
+ " 3625.507246 | \n",
+ " 10023.157508 | \n",
+ " 11.338710 | \n",
+ " 31.350000 | \n",
+ " 63480.923077 | \n",
+ " 11.407692 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " B.O.D. (mg/l) : Mean : < 3 mg/l CONDUCTIVITY (µmhos/cm) : Mean \\\n",
+ "count 18.000000 18.000000 \n",
+ "mean 3.673686 1154.190498 \n",
+ "std 3.912997 784.323956 \n",
+ "min 0.810286 184.000000 \n",
+ "25% 1.347661 669.092294 \n",
+ "50% 2.657462 984.851407 \n",
+ "75% 3.970456 1285.284211 \n",
+ "max 15.649522 3625.507246 \n",
+ "\n",
+ " FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml \\\n",
+ "count 18.000000 \n",
+ "mean 1455.808117 \n",
+ "std 2482.015727 \n",
+ "min 174.117647 \n",
+ "25% 425.030847 \n",
+ "50% 763.733149 \n",
+ "75% 957.370173 \n",
+ "max 10023.157508 \n",
+ "\n",
+ " NITRATE- N+ NITRITE-N (mg/l) : Mean TEMPERATURE ºC : Mean \\\n",
+ "count 18.000000 18.000000 \n",
+ "mean 2.568416 26.776271 \n",
+ "std 2.804165 3.202736 \n",
+ "min 0.000000 19.994794 \n",
+ "25% 0.624941 24.890468 \n",
+ "50% 1.906543 27.254756 \n",
+ "75% 3.057083 29.212924 \n",
+ "max 11.338710 31.350000 \n",
+ "\n",
+ " TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml \\\n",
+ "count 18.000000 \n",
+ "mean 6141.228963 \n",
+ "std 14717.983523 \n",
+ "min 66.555950 \n",
+ "25% 891.176854 \n",
+ "50% 1964.296124 \n",
+ "75% 3544.975379 \n",
+ "max 63480.923077 \n",
+ "\n",
+ " pH : Mean : 6.5-8.5 \n",
+ "count 18.000000 \n",
+ "mean 7.503967 \n",
+ "std 1.048730 \n",
+ "min 6.509677 \n",
+ "25% 7.140658 \n",
+ "50% 7.408865 \n",
+ "75% 7.596071 \n",
+ "max 11.407692 "
+ ]
+ },
+ "execution_count": 82,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.describe()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 83,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The average is 3.673685851453839\n"
+ ]
+ }
+ ],
+ "source": [
+ "avg_bod = states['B.O.D. (mg/l) : Mean : < 3 mg/l'].astype('float').mean()\n",
+ "print(\"The average is {}\".format(avg_bod))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 84,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "15.64952231044266"
+ ]
+ },
+ "execution_count": 84,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states['B.O.D. (mg/l) : Mean : < 3 mg/l'].max()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 85,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "states.rename(columns={'B.O.D. (mg/l) : Mean : < 3 mg/l':'BOD','CONDUCTIVITY (µmhos/cm) : Mean':'Conductivity','FECAL COLIFORM (MPN/100ml) : Mean : < 2500 MPN/100ml':'Fecal','NITRATE- N+ NITRITE-N (mg/l) : Mean':'Nitrate','TEMPERATURE ºC : Mean':'Temperature','TOTAL COLIFORM (MPN/100ml) : Mean : < 5000 MPN/100ml':'Total_coliform','pH : Mean : 6.5-8.5':'pH'},inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 86,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['State', 'BOD', 'Conductivity', 'Fecal', 'Nitrate', 'Temperature',\n",
+ " 'Total_coliform', 'pH'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 86,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 87,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " State | \n",
+ " BOD | \n",
+ " Conductivity | \n",
+ " Fecal | \n",
+ " Nitrate | \n",
+ " Temperature | \n",
+ " Total_coliform | \n",
+ " pH | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " andhra_pradesh | \n",
+ " 6.828362 | \n",
+ " 1739.200000 | \n",
+ " 446.625451 | \n",
+ " 3.053333 | \n",
+ " 20.880000 | \n",
+ " 828.111645 | \n",
+ " 7.606667 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " assam | \n",
+ " 1.322581 | \n",
+ " 620.419355 | \n",
+ " 236.645161 | \n",
+ " 2.919355 | \n",
+ " 24.258065 | \n",
+ " 3947.258065 | \n",
+ " 6.509677 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " bihar | \n",
+ " 2.738510 | \n",
+ " 926.022177 | \n",
+ " 235.790368 | \n",
+ " 0.000000 | \n",
+ " 24.560976 | \n",
+ " 825.871095 | \n",
+ " 7.478049 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " chattissgarh | \n",
+ " 1.422900 | \n",
+ " 894.067544 | \n",
+ " 942.257318 | \n",
+ " 0.490000 | \n",
+ " 27.066654 | \n",
+ " 415.843539 | \n",
+ " 7.310000 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " daman_diu_dadra_nagar_haveli | \n",
+ " 4.345917 | \n",
+ " 1896.666667 | \n",
+ " 569.464280 | \n",
+ " 3.058333 | \n",
+ " 31.350000 | \n",
+ " 1539.934531 | \n",
+ " 6.925000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " State BOD Conductivity Fecal Nitrate \\\n",
+ "0 andhra_pradesh 6.828362 1739.200000 446.625451 3.053333 \n",
+ "1 assam 1.322581 620.419355 236.645161 2.919355 \n",
+ "2 bihar 2.738510 926.022177 235.790368 0.000000 \n",
+ "3 chattissgarh 1.422900 894.067544 942.257318 0.490000 \n",
+ "4 daman_diu_dadra_nagar_haveli 4.345917 1896.666667 569.464280 3.058333 \n",
+ "\n",
+ " Temperature Total_coliform pH \n",
+ "0 20.880000 828.111645 7.606667 \n",
+ "1 24.258065 3947.258065 6.509677 \n",
+ "2 24.560976 825.871095 7.478049 \n",
+ "3 27.066654 415.843539 7.310000 \n",
+ "4 31.350000 1539.934531 6.925000 "
+ ]
+ },
+ "execution_count": 87,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "states.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 88,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Top_5 = states.groupby(\"State\").Total_coliform.sum().nlargest(n =5)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 89,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "State\n",
+ "lakshadweep 63480.923077\n",
+ "odisha 15497.818849\n",
+ "assam 3947.258065\n",
+ "punjab 3927.107529\n",
+ "pondicherry 3565.359851\n",
+ "Name: Total_coliform, dtype: float64"
+ ]
+ },
+ "execution_count": 89,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Top_5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 90,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 91,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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VVfpnnvu0a5duxQYGKg//OEPuu6666xu0e2tXbtWGRkZp5xj48Tb6zp27KihQ4da0J05Dhw4oMsvv/yk5RdffPEppx92J2580cF9jRo1SvPmzVNZWZk8PDxUW1urv/3tb0pLS9Ntt91mdXtGmDdvnvr06aOAgABlZ2crMDBQ5eXlGjx4MJPonEdz585VWFiYLr/8cq1Zs0aHDx/Wpk2blJSUpIULF1rdnhF+//vf684779SWLVtUVlbm8sUras8fm82mNWvWuCxraWnRiy++qGuvvdairs4PHq+zgN1u129+8xu98soramxslPTtqeY777xTKSkpHNXDbdhsNq1fv17du3fX5MmTddlll2nu3LmqqKjQbbfdppKSEqtbdHtxcXFau3btKY82cf6Ul5dr6tSpCg4OVnl5ufr166d//vOfstvtevHFF9369bWcureAp6enZs6cqUcffVT79+9Xc3OzunfvzrXjc/TEE0/oqaeeUseOHfXEE0+cdl3eqnZ+dOjQQTU1NTp8+LC2bt2qyZMnS5L++c9/Kjg42NrmDHHLLbfof//3f5WUlGR1K0a78sor9fbbb+uNN97QF198oebmZg0bNkxjxoxx+9/NBL0FEhIS1L9/fw0aNEg33HCDunXrZnVLRvjPaW5Nfa/0hWbYsGF67LHH5Ofnp7CwMA0aNEj/8z//o/nz5/NWtfPkoosu0rPPPqsNGzYoMjJSPj4+LnU+tJ4/fn5+Gj9+vNVtnHecurfA9u3btXnzZn388cfaunWrIiIiNGjQIN14443q27cvk+bAbTQ1NWn16tWqqKjQxIkTddlll2ndunWqra3Vvffea8yEI1biVcBto6KiQosXL1ZZWZnsdrv+Oxrff/99axo7Dwh6ix0/flxbtmzR66+/rjfffFN+fn4qKiqyui23xFz31rPb7SorK+PxOride++9V998843uvPPOU/6/O27cOAu6Oj84dW+RXbt2aevWrSosLFRhYaEOHDig3r178zjSOfj444+df25paVFxcbFCQkIUFRUlb29vff755zp48KBuvPFGC7s0C4/Xtb7f/va3p63/4he/aKNOzFZaWqo1a9boyiuvtLqV846gt0Dfvn1VW1urhIQEJSQkaOzYsbLZbAoICLC6Nbf2pz/9yfnn+fPn66qrrtJTTz3lnP+7paVFCxYs0Ndff21Vi8aZO3euQkNDT3q8Li8vTwsXLjzjPO04sy1btrh839zc7HzzJY/jnj89evTQkSNHrG6jVRD0Frj99tu1ZcsWlZaWulzDjIuLc5ktDz9cXl6eXn/9dZeXfHh6euree+9161NwF5qtW7dq/fr1uuiii7Rx40YNGTJE4eHhGjt2rLKzs61uzwirVq065fJFixapqampjbsxy+bNm51/Hj58uJ544gk9+OCD6t69+0lz2/fv37+t2ztvCHoLpKamSpK++eYbbdmyRZ9++qmWLl2qzz//XFdddZVee+01izt0f2FhYfrwww/Vo0cPl+VvvvmmunfvblFX5uHxOutMmDBB48aNc/4+wff305/+9KRl6enpJy07MQOhuyLoLeRwONTS0qLm5mYdO3ZMzc3NTJZznsyYMUOPPfaY3n33XUVFRcnhcKi0tFQ7duzQH/7wB6vbM8Z/Pl4XGhrK43Vt6K233uIM4DkqKyuzuoU2wV33Fli4cKE++eQT/eMf/1D37t01cOBA3XDDDbr++uvVoUMHq9szxu7du5Wbm6u9e/eqpaVFF198saZMmaLIyEirWzPGicfr/vWvf2nixImKjIzUunXrVFdXp8TERILoPLjppptOekyxrq5O33zzjWbOnKn777/fmsYM09LSouXLlys0NFR33HGHJOn+++/XjTfeqKSkJLd+VJQjegvs27dP48eP14033shp5FZit9v1pz/9Sa+++qqam5slfTvN8PHjxzV37lzmKjhPDh8+rH379qm8vNz5vLfD4XBO81xYWGhxh+7v0UcflfRtEH311VcKCwuTj4+P+vTpw4fW82jhwoV69913nW+uk6SRI0dq2bJlqqmp0WOPPWZhd+eGI/o28q9//eus142IiGjFTtqHuXPn6oMPPtBTTz2luLg4tbS0qKioSPPnz9eQIUP05JNPWt2iEaZMmaIvv/xSw4cPV05Ojn76059q//79ys/P16xZszRx4kSrW3R7TU1NWrp0qf7yl7/o66+/loeHh7p27aqJEyfqwQcftLo9YwwcOFAvvPCCbDaby/ItW7bo0Ucf1UcffWRNY+cBR/Rt5JZbbjnlqZ8Tn7P+s+bON31cKDZs2KDnnntOffv2dS676aab5O/vr1/+8pcE/XlSWFionJwcxcXF6W9/+5sGDx6s+Ph4ZWdn67333iPoz4PMzEy9++67evLJJ9W7d2+1tLSotLRUzz//vBobG/XII49Y3aIRjh8/fsp7pDp27Ki6ujoLOjp/CPo2kp+f7/zzhx9+qFWrVmnmzJnq3bu3vL29tWPHDi1atEh33323hV2aw+FwqEuXLictDw4OVn19vQUdmcnhcCg8PFyS1KtXL+3YsUPx8fEaMWKE/vjHP1rcnRneeOMNZWVlKSEhwbksKipK3bp10+OPP07Qnyc33XST5s6dq0WLFjkvqe7fv1+ZmZluP8kW76NvI5GRkc6vF198UYsWLdLgwYMVEhKi4OBgDRgwQHPnzlVWVpbVrRrh+uuv15IlS/TNN984l9XU1Og3v/mN+vXrZ2FnZomJidG6deskSdHR0c7Tm/v377ewK7N06NDhlC9p6tSp00nPeuOHmz17tjw8PDRs2DDnZGbDhw+Xl5eX0tLSrG7vnHBEb4Ha2tpTTnRRW1vrfD89zs2sWbM0efJkDRo0yHnD0r59+3T55ZfrhRdesLg7c8yYMUMPPvigAgICNHbsWL344osaMWKEDh48qNtvv93q9owwY8YMpaamasaMGYqLi5OXl5d27typzMxMTZ482eVDFTf3/nDBwcF65ZVXVF5ert27d8vHx0eXX365evbsaXVr54yb8SwwZ84cbdq0SY888ojLM97PP/+87rjjDre+u/NC0tjYqA8++EBffPGF/Pz81LNnTw0YMMCtH5O5ENXV1amhoUEhISE6ePCg3n33XQUHB2vEiBEccZ4HUVFRzj+f+H/3P39te3h4yOFwuP2kLlbYv3+/unXrJg8PjzOehXLnD1EEvQWampr03HPPKS8vT4cPH5YkhYSEaMKECZo2bRpBBMCpoqLirNe99NJLW7ET80RFRelvf/ubunbtqqioqO+8YdrdP0QR9BY7EfQXXXSRxZ0AQPtSUVGhSy65RJ6enmf8QOXOH6IIeouUlpZq165dzslcTkwysnPnTs2bN8/i7gAApuBmPAs899xzysrKUkhIiL766iuFh4erurpazc3NGj58uNXtAUC78F2n60/FnU/dE/QWyM3NVUZGhu6++27dcsstWrlypYKCgvTYY4+59ekhAHAnK1ascP75s88+00svvaRp06a5zG+ybNkyTZo0ycIuzx2n7i3Qu3dv5efnKyIiQg899JCGDx+u22+/Xdu3b9f06dP1v//7v1a3CADtyogRI/TrX/9aAwcO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\n",
+ "text/plain": [
+ "