{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd \n", "import numpy as np\n", "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "pcos_df = pd.read_csv(\"PCOS_data.csv\")" ] }, { "cell_type": "code", "execution_count": 4, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sl. NoPatient File No.PCOS (Y/N)Age (yrs)Weight (Kg)Height(Cm)BMIBlood GroupPulse rate(bpm)RR (breaths/min)...Fast food (Y/N)Reg.Exercise(Y/N)BP _Systolic (mmHg)BP _Diastolic (mmHg)Follicle No. (L)Follicle No. (R)Avg. F size (L) (mm)Avg. F size (R) (mm)Endometrium (mm)Column1
01102844.6152.019.3157822...1.00110803318.018.08.5NaN
12203665.0161.524.9157420...0.00120703515.014.03.7NaN
23313368.8165.025.3117218...1.0012080131518.020.010.0NaN
34403765.0148.029.7137220...0.00120702215.014.07.5NaN
45502552.0161.020.1117218...0.00120803416.014.07.0NaN
\n", "

5 rows × 45 columns

\n", "
" ], "text/plain": [ " Sl. No Patient File No. PCOS (Y/N) Age (yrs) Weight (Kg) Height(Cm) \\\n", "0 1 1 0 28 44.6 152.0 \n", "1 2 2 0 36 65.0 161.5 \n", "2 3 3 1 33 68.8 165.0 \n", "3 4 4 0 37 65.0 148.0 \n", "4 5 5 0 25 52.0 161.0 \n", "\n", " BMI Blood Group Pulse rate(bpm) RR (breaths/min) ... \\\n", "0 19.3 15 78 22 ... \n", "1 24.9 15 74 20 ... \n", "2 25.3 11 72 18 ... \n", "3 29.7 13 72 20 ... \n", "4 20.1 11 72 18 ... \n", "\n", " Fast food (Y/N) Reg.Exercise(Y/N) BP _Systolic (mmHg) \\\n", "0 1.0 0 110 \n", "1 0.0 0 120 \n", "2 1.0 0 120 \n", "3 0.0 0 120 \n", "4 0.0 0 120 \n", "\n", " BP _Diastolic (mmHg) Follicle No. (L) Follicle No. (R) \\\n", "0 80 3 3 \n", "1 70 3 5 \n", "2 80 13 15 \n", "3 70 2 2 \n", "4 80 3 4 \n", "\n", " Avg. F size (L) (mm) Avg. F size (R) (mm) Endometrium (mm) Column1 \n", "0 18.0 18.0 8.5 NaN \n", "1 15.0 14.0 3.7 NaN \n", "2 18.0 20.0 10.0 NaN \n", "3 15.0 14.0 7.5 NaN \n", "4 16.0 14.0 7.0 NaN \n", "\n", "[5 rows x 45 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pcos_df.head(5)" ] }, { "cell_type": "code", "execution_count": null, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sl. NoPatient File No.PCOS (Y/N)Age (yrs)Weight (Kg)Height(Cm)BMIBlood GroupPulse rate(bpm)RR (breaths/min)...Pimples(Y/N)Fast food (Y/N)Reg.Exercise(Y/N)BP _Systolic (mmHg)BP _Diastolic (mmHg)Follicle No. (L)Follicle No. (R)Avg. F size (L) (mm)Avg. F size (R) (mm)Endometrium (mm)
count541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000...541.000000540.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000
mean271.000000271.0000000.32717231.43068459.637153156.48483524.30757913.80221873.24768919.243993...0.4898340.5148150.247689114.66173876.9279116.1293906.64140515.01811515.4517018.475915
std156.317519156.3175190.4696155.41100611.0282876.0335454.0551291.8408124.4302851.688629...0.5003590.5002440.4320707.3845565.5741124.2292944.4368893.5668393.3188482.165381
min1.0000001.0000000.00000020.00000031.000000137.00000012.40000011.00000013.00000016.000000...0.0000000.0000000.00000012.0000008.0000000.0000000.0000000.0000000.0000000.000000
25%136.000000136.0000000.00000028.00000052.000000152.00000021.60000013.00000072.00000018.000000...0.0000000.0000000.000000110.00000070.0000003.0000003.00000013.00000013.0000007.000000
50%271.000000271.0000000.00000031.00000059.000000156.00000024.20000014.00000072.00000018.000000...0.0000001.0000000.000000110.00000080.0000005.0000006.00000015.00000016.0000008.500000
75%406.000000406.0000001.00000035.00000065.000000160.00000026.60000015.00000074.00000020.000000...1.0000001.0000000.000000120.00000080.0000009.00000010.00000018.00000018.0000009.800000
max541.000000541.0000001.00000048.000000108.000000180.00000038.90000018.00000082.00000028.000000...1.0000001.0000001.000000140.000000100.00000022.00000020.00000024.00000024.00000018.000000
\n", "

8 rows × 42 columns

\n", "
" ], "text/plain": [ " Sl. No Patient File No. PCOS (Y/N) Age (yrs) Weight (Kg) \\\n", "count 541.000000 541.000000 541.000000 541.000000 541.000000 \n", "mean 271.000000 271.000000 0.327172 31.430684 59.637153 \n", "std 156.317519 156.317519 0.469615 5.411006 11.028287 \n", "min 1.000000 1.000000 0.000000 20.000000 31.000000 \n", "25% 136.000000 136.000000 0.000000 28.000000 52.000000 \n", "50% 271.000000 271.000000 0.000000 31.000000 59.000000 \n", "75% 406.000000 406.000000 1.000000 35.000000 65.000000 \n", "max 541.000000 541.000000 1.000000 48.000000 108.000000 \n", "\n", " Height(Cm) BMI Blood Group Pulse rate(bpm) \\\n", "count 541.000000 541.000000 541.000000 541.000000 \n", "mean 156.484835 24.307579 13.802218 73.247689 \n", "std 6.033545 4.055129 1.840812 4.430285 \n", "min 137.000000 12.400000 11.000000 13.000000 \n", "25% 152.000000 21.600000 13.000000 72.000000 \n", "50% 156.000000 24.200000 14.000000 72.000000 \n", "75% 160.000000 26.600000 15.000000 74.000000 \n", "max 180.000000 38.900000 18.000000 82.000000 \n", "\n", " RR (breaths/min) ... Pimples(Y/N) Fast food (Y/N) \\\n", "count 541.000000 ... 541.000000 540.000000 \n", "mean 19.243993 ... 0.489834 0.514815 \n", "std 1.688629 ... 0.500359 0.500244 \n", "min 16.000000 ... 0.000000 0.000000 \n", "25% 18.000000 ... 0.000000 0.000000 \n", "50% 18.000000 ... 0.000000 1.000000 \n", "75% 20.000000 ... 1.000000 1.000000 \n", "max 28.000000 ... 1.000000 1.000000 \n", "\n", " Reg.Exercise(Y/N) BP _Systolic (mmHg) BP _Diastolic (mmHg) \\\n", "count 541.000000 541.000000 541.000000 \n", "mean 0.247689 114.661738 76.927911 \n", "std 0.432070 7.384556 5.574112 \n", "min 0.000000 12.000000 8.000000 \n", "25% 0.000000 110.000000 70.000000 \n", "50% 0.000000 110.000000 80.000000 \n", "75% 0.000000 120.000000 80.000000 \n", "max 1.000000 140.000000 100.000000 \n", "\n", " Follicle No. (L) Follicle No. (R) Avg. F size (L) (mm) \\\n", "count 541.000000 541.000000 541.000000 \n", "mean 6.129390 6.641405 15.018115 \n", "std 4.229294 4.436889 3.566839 \n", "min 0.000000 0.000000 0.000000 \n", "25% 3.000000 3.000000 13.000000 \n", "50% 5.000000 6.000000 15.000000 \n", "75% 9.000000 10.000000 18.000000 \n", "max 22.000000 20.000000 24.000000 \n", "\n", " Avg. F size (R) (mm) Endometrium (mm) \n", "count 541.000000 541.000000 \n", "mean 15.451701 8.475915 \n", "std 3.318848 2.165381 \n", "min 0.000000 0.000000 \n", "25% 13.000000 7.000000 \n", "50% 16.000000 8.500000 \n", "75% 18.000000 9.800000 \n", "max 24.000000 18.000000 \n", "\n", "[8 rows x 42 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pcos_df.describe()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 541 entries, 0 to 540\n", "Data columns (total 45 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Sl. No 541 non-null int64 \n", " 1 Patient File No. 541 non-null int64 \n", " 2 PCOS (Y/N) 541 non-null int64 \n", " 3 Age (yrs) 541 non-null int64 \n", " 4 Weight (Kg) 541 non-null float64\n", " 5 Height(Cm) 541 non-null float64\n", " 6 BMI 541 non-null float64\n", " 7 Blood Group 541 non-null int64 \n", " 8 Pulse rate(bpm) 541 non-null int64 \n", " 9 RR (breaths/min) 541 non-null int64 \n", " 10 Hb(g/dl) 541 non-null float64\n", " 11 Cycle(R/I) 541 non-null int64 \n", " 12 Cycle length(days) 541 non-null int64 \n", " 13 Marraige Status (Yrs) 540 non-null float64\n", " 14 Pregnant(Y/N) 541 non-null int64 \n", " 15 No. of abortions 541 non-null int64 \n", " 16 I beta-HCG(mIU/mL) 541 non-null float64\n", " 17 II beta-HCG(mIU/mL) 541 non-null object \n", " 18 FSH(mIU/mL) 541 non-null float64\n", " 19 LH(mIU/mL) 541 non-null float64\n", " 20 FSH/LH 541 non-null float64\n", " 21 Hip(inch) 541 non-null int64 \n", " 22 Waist(inch) 541 non-null int64 \n", " 23 Waist:Hip Ratio 541 non-null float64\n", " 24 TSH (mIU/L) 541 non-null float64\n", " 25 AMH(ng/mL) 541 non-null object \n", " 26 PRL(ng/mL) 541 non-null float64\n", " 27 Vit D3 (ng/mL) 541 non-null float64\n", " 28 PRG(ng/mL) 541 non-null float64\n", " 29 RBS(mg/dl) 541 non-null float64\n", " 30 Weight gain(Y/N) 541 non-null int64 \n", " 31 hair growth(Y/N) 541 non-null int64 \n", " 32 Skin darkening (Y/N) 541 non-null int64 \n", " 33 Hair loss(Y/N) 541 non-null int64 \n", " 34 Pimples(Y/N) 541 non-null int64 \n", " 35 Fast food (Y/N) 540 non-null float64\n", " 36 Reg.Exercise(Y/N) 541 non-null int64 \n", " 37 BP _Systolic (mmHg) 541 non-null int64 \n", " 38 BP _Diastolic (mmHg) 541 non-null int64 \n", " 39 Follicle No. (L) 541 non-null int64 \n", " 40 Follicle No. (R) 541 non-null int64 \n", " 41 Avg. F size (L) (mm) 541 non-null float64\n", " 42 Avg. F size (R) (mm) 541 non-null float64\n", " 43 Endometrium (mm) 541 non-null float64\n", " 44 Column1 2 non-null object \n", "dtypes: float64(19), int64(23), object(3)\n", "memory usage: 190.3+ KB\n" ] } ], "source": [ "pcos_df.info()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Sl. No 0\n", "Patient File No. 0\n", "PCOS (Y/N) 0\n", " Age (yrs) 0\n", "Weight (Kg) 0\n", "Height(Cm) 0\n", "BMI 0\n", "Blood Group 0\n", "Pulse rate(bpm) 0\n", "RR (breaths/min) 0\n", "Hb(g/dl) 0\n", "Cycle(R/I) 0\n", "Cycle length(days) 0\n", "Marraige Status (Yrs) 1\n", "Pregnant(Y/N) 0\n", "No. of abortions 0\n", " I beta-HCG(mIU/mL) 0\n", "II beta-HCG(mIU/mL) 0\n", "FSH(mIU/mL) 0\n", "LH(mIU/mL) 0\n", "FSH/LH 0\n", "Hip(inch) 0\n", "Waist(inch) 0\n", "Waist:Hip Ratio 0\n", "TSH (mIU/L) 0\n", "AMH(ng/mL) 0\n", "PRL(ng/mL) 0\n", "Vit D3 (ng/mL) 0\n", "PRG(ng/mL) 0\n", "RBS(mg/dl) 0\n", "Weight gain(Y/N) 0\n", "hair growth(Y/N) 0\n", "Skin darkening (Y/N) 0\n", "Hair loss(Y/N) 0\n", "Pimples(Y/N) 0\n", "Fast food (Y/N) 1\n", "Reg.Exercise(Y/N) 0\n", "BP _Systolic (mmHg) 0\n", "BP _Diastolic (mmHg) 0\n", "Follicle No. (L) 0\n", "Follicle No. (R) 0\n", "Avg. F size (L) (mm) 0\n", "Avg. F size (R) (mm) 0\n", "Endometrium (mm) 0\n", "Column1 539\n", "dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pcos_df.isna().sum()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\1931395523.py:4: UserWarning: \n", "\n", "`distplot` is a deprecated function and will be removed in seaborn v0.14.0.\n", "\n", "Please adapt your code to use either `displot` (a figure-level function with\n", "similar flexibility) or `histplot` (an axes-level function for histograms).\n", "\n", "For a guide to updating your code to use the new functions, please see\n", "https://gist.github.com/mwaskom/de44147ed2974457ad6372750bbe5751\n", "\n", " sns.distplot(pcos_df['Marraige Status (Yrs)'])\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAGiCAYAAAD9QiyHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1/ElEQVR4nO3deXxU1f3/8fckkLBOSCAkRBJWQSiroIhUxAqEADYupIViZSv+AoistUYQENBorQoqGvGrRESIRsE0FnBhCVApAgqyKxIIyiJrAgGyzNzfH5iBycYMTJhc8no+HvMgc865934yaTvvnnvuvRbDMAwBAACYkI+3CwAAALhaBBkAAGBaBBkAAGBaBBkAAGBaBBkAAGBaBBkAAGBaBBkAAGBalbxdQFmz2+06dOiQatasKYvF4u1yAACACwzD0JkzZxQWFiYfn5LnXW74IHPo0CGFh4d7uwwAAHAVDh48qPr165fYf8MHmZo1a0q6+EFYrVYvVwMAAFyRlZWl8PBwx/d4SW74IFNwOslqtRJkAAAwmSstC2GxLwAAMC2CDAAAMC2CDAAAMC2CDAAAMC2CDAAAMC2CDAAAMC2CDAAAMC2CDAAAMC2CDAAAMC2CDAAAMK0b/hEFKF5ubq5SUlJ06NAhhYWFKTo6Wn5+ft4uCwAAt3h1RubNN99UmzZtHM9B6ty5s5YtW+bov3DhgkaNGqXatWurRo0aeuihh3T06FEvVnxjSEhIUFRUlObMmaMlS5Zozpw5ioqKUkJCgrdLAwDALV4NMvXr19fzzz+vzZs3a9OmTfrDH/6g6Oho7dixQ5I0btw4paamKjk5WWlpaTp06JAefPBBb5ZsegkJCUpKSpLVatXEiRP1ySefaOLEibJarUpKSiLMAABMxWIYhuHtIi4XFBSkF198Uf369VNwcLAWLlyofv36SZJ2796tFi1aaP369brjjjtc2l9WVpYCAgKUmZlZ4Z9+nZubq6ioKFmtViUnJ6tSpUtnFvPz8xUTE6OsrCwtW7aM00wAAK9y9fu73Cz2tdlsSkpKUnZ2tjp37qzNmzcrLy9P3bt3d4y55ZZbFBERofXr15e4n5ycHGVlZTm9cFFKSopsNpuGDRvmFGIkqVKlSho6dKhsNptSUlK8VCEAAO7xepDZtm2batSoIX9/f8XGxmrJkiVq2bKljhw5Ij8/P9WqVctpfEhIiI4cOVLi/uLj4xUQEOB4hYeHl/FvYB6HDh2SJHXu3LnY/oL2gnEAAJR3Xg8yzZs315YtW7RhwwaNGDFCgwYN0s6dO696f3FxccrMzHS8Dh486MFqzS0sLEySSpzRKmgvGAcAQHnn9SDj5+enpk2bqkOHDoqPj1fbtm01e/ZshYaGKjc3V6dPn3Yaf/ToUYWGhpa4P39/f8dVUAUvXBQdHS1fX1+98847ys/Pd+rLz8/Xu+++K19fX0VHR3upQgAA3OP1IFOY3W5XTk6OOnTooMqVK2vFihWOvj179igjI6PEUyMonZ+fn2JiYnTq1CnFxMQoNTVVx48fV2pqqlM7C30BAGbh1RvixcXFKSoqShERETpz5owWLlyo1atX6/PPP1dAQICGDRum8ePHKygoSFarVaNHj1bnzp1dvmIJRcXGxkqSkpOT9dJLLznafX191b9/f0c/AABm4NUg8+uvv+qRRx7R4cOHFRAQoDZt2ujzzz9Xjx49JEmvvPKKfHx89NBDDyknJ0eRkZF64403vFnyDSE2NlZDhw7lzr4AANMrd/eR8TTuIwMAgPmY7j4yAAAA7iLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA0yLIAAAA06rk7QLgHbm5uUpJSdGhQ4cUFham6Oho+fn5ebssAADcQpCpgBISEpScnCybzebUFhMTo9jYWC9WBgCAe7x6aik+Pl633Xabatasqbp16+r+++/Xnj17nMZ069ZNFovF6cWX7dVLSEhQUlKSrFarJk6cqE8++UQTJ06U1WpVUlKSEhISvF0iAAAusxiGYXjr4L169VL//v112223KT8/X0899ZS2b9+unTt3qnr16pIuBplmzZpp+vTpju2qVasmq9Xq0jGysrIUEBCgzMxMl7e5UeXm5ioqKkpWq1XJycmqVOnShFx+fr5iYmKUlZWlZcuWcZoJAOBVrn5/e/XU0vLly53eJyYmqm7dutq8ebO6du3qaK9WrZpCQ0Nd2mdOTo5ycnIc77OysjxT7A0gJSVFNptNw4YNcwoxklSpUiUNHTpUL730klJSUhQTE+OlKgEAcF25umopMzNTkhQUFOTU/sEHH6hOnTpq1aqV4uLidO7cuRL3ER8fr4CAAMcrPDy8TGs2k0OHDkmSOnfuXGx/QXvBOAAAyrtyE2TsdrvGjh2rLl26qFWrVo72v/zlL1qwYIFWrVqluLg4vf/++3r44YdL3E9cXJwyMzMdr4MHD16P8k0hLCxMkrR+/fpi+wvaC8YBAFDeeXWNzOVGjBihZcuWad26dapfv36J41auXKl7771Xe/fuVZMmTa64X9bIXMIaGQCAWbj6/V0uZmQee+wxffbZZ1q1alWpIUaSOnXqJEnau3fv9SjthuLn56eYmBidOnVKMTExSk1N1fHjx5WamurUTogBAJiFVxf7Goah0aNHa8mSJVq9erUaNWp0xW22bNkiSapXr14ZV3djKrh0PTk5WS+99JKj3dfXV/379+fSdgCAqXj11NLIkSO1cOFCpaSkqHnz5o72gIAAVa1aVT/99JMWLlyo3r17q3bt2vr+++81btw41a9fX2lpaS4dg1NLxePOvgCA8szV72+vBhmLxVJs+7x58zR48GAdPHhQDz/8sLZv367s7GyFh4frgQce0OTJk7mPDAAANzBT3EfmShkqPDzc5ZkXuMdms+n777/XyZMnFRQUpDZt2sjX19fbZQEA4BaetVQBrVmzRm+88YaOHDniaAsNDdXIkSOdbkQIAEB5Vy6uWsL1s2bNGk2dOlWNGzfWnDlztHTpUs2ZM0eNGzfW1KlTtWbNGm+XCACAy8rNfWTKCmtkLrHZbBo4cKAaN26smTNnysfnUo612+2aPHmy0tPTtWDBAk4zAQC8ylT3kcH18f333+vIkSMaOHCgU4iRJB8fHw0cOFCHDx/W999/76UKAQBwD0GmAjl58qQklXi/noL2gnEAAJR3BJkKpOBhnOnp6cX2F7QXfmgnAADlFUGmAmnTpo1CQ0P1wQcfyG63O/XZ7XZ98MEHqlevntq0aeOlCgEAcA9BpgLx9fXVyJEjtX79ek2ePFk7duzQuXPntGPHDk2ePFnr16/XiBEjWOgLADANrlqqgIq7j0y9evU0YsQI7iMDACgXTPGIguuBIFM87uwLACjPTPGIAniPr6+v2rdv7+0yAAC4JgSZCoqnXwMAbgQEmQooISFBycnJstlsTm0xMTGKjY31YmUAALiHIFPBJCQkKCkpSYGBgRo2bJg6d+6s9evX65133lFSUpIkEWYAAKbBYt8KJDc3V1FRUbJarUpOTlalSpdybH5+vmJiYpSVlaVly5ZxmgkA4FU8awlFpKSkyGazadiwYU4hRpIqVaqkoUOHymazKSUlxUsVAgDgHoJMBXLo0CFJUufOnYvtL2gvGAcAQHlHkKlAwsLCJEnr168vtr+gvWAcAADlHUGmAomOjpavr6/eeecd5efnO/Xl5+fr3Xffla+vr6Kjo71UIQAA7iHIVCB+fn6KiYnRqVOnFBMTo9TUVB0/flypqalO7Sz0BQCYBZdfVzAFl1YnJyfrpZdecrT7+vqqf//+XHoNADAVLr+uoLizLwCgPONZSyhVwWkmAADMjCBTQTEjAwC4ERBkKiCetQQAuFEQZCoYnrUEALiRsNi3AuFZSwAAs+BZSyiCZy0BAG40BJkKhGctAQBuNASZCoRnLQEAbjRurZGx2+1KS0vT2rVrdeDAAZ07d07BwcFq3769unfvrvDw8LKs9aqwRuYS1sgAAMzCo2tkzp8/r5kzZyo8PFy9e/fWsmXLdPr0afn6+mrv3r2aOnWqGjVqpN69e+t///ufx34JeBbPWgIA3Ghcuvy6WbNm6ty5s95++2316NFDlStXLjLmwIEDWrhwofr3769JkyZp+PDhHi8W145nLQEAbiQunVratWuXWrRo4dIO8/LylJGRoSZNmlxzcZ7AqaXicWdfAEB55ur3N/eRAQAA5U6Z3Udm+fLlWrduneP9nDlz1K5dO/3lL3/RqVOnrq5aAACAq+B2kPn73/+urKwsSdK2bds0YcIE9e7dW+np6Ro/frzHCwQAACiJ289aSk9PV8uWLSVJn3zyifr27avnnntO3377rXr37u3xAgEAAEri9oyMn5+fzp07J0n66quv1LNnT0lSUFCQY6YGAADgenB7RqZLly4aP368unTpom+++UYffvihJOmHH35Q/fr1PV4gAABASdyekZkzZ44qV66sjz/+WG+++aZuuukmSdKyZcvUq1cvjxcIAABQErcuv87Pz9fChQvVs2dPhYaGlmVdHsPl1wAAmE+ZXH5dqVIlxcbGKicn55oLBAAAuFZun1q6/fbb9d1335VFLQAAAG5xe7HvyJEjNWHCBP3888/q0KGDqlev7tTfpk0bjxUHAABQGrcfUeDjU3QSx2KxyDAMWSwW2Ww2jxXnCayRAQDAfFz9/r6qG+LB/HhoJADgRuDyjMzSpUs9fufe+Ph4LV68WLt371bVqlV155136oUXXlDz5s0dYy5cuKAJEyYoKSlJOTk5ioyM1BtvvKGQkBCXjsGMTFEJCQlKTk52mj3z9fVVTEyMYmNjvVgZAAAXefyqpQcffFCPPvqozp4965ECJSktLU2jRo3S//73P3355ZfKy8tTz549lZ2d7Rgzbtw4paamKjk5WWlpaTp06JAefPBBj9VQ0SQkJCgpKUlWq1UTJ07UJ598ookTJ8pqtSopKUkJCQneLhEAAJe5PCOzdetWDR48WJmZmUpMTFTXrl09XsyxY8dUt25dpaWlqWvXrsrMzFRwcLAWLlyofv36SZJ2796tFi1aaP369brjjjuuuE9mZC7Jzc1VVFSUrFarkpOTVanSpTOL+fn5iomJUVZWlpYtW8ZpJgCAV3l8RqZt27bauHGjHnnkEfXs2VMTJkzQyZMnlZWV5fS6FpmZmZIuPrdJkjZv3qy8vDx1797dMeaWW25RRESE1q9fX+w+cnJyPFrTjSQlJUU2m03Dhg1zCjHSxXsEDR06VDabTSkpKV6qEAAA97h9Q7xp06bp3//+t2bPnq3g4GAFBgYqMDBQtWrVUmBg4FUXYrfbNXbsWHXp0kWtWrWSJB05ckR+fn6qVauW09iQkBAdOXKk2P3Ex8crICDA8QoPD7/qmm40hw4dkiR17ty52P6C9oJxAACUd25ftbR48WKNGDFCXbt21aRJk4r8P/urNWrUKG3fvl3r1q27pv3ExcVp/PjxjvdZWVmEmd+EhYVJktavX6++ffsW6S+Y5SoYBwBAeedyCjl9+rRGjhyplJQUPffccxozZozHinjsscf02Wefac2aNU5P0A4NDVVubq5Onz7tNCtz9OjREp/15O/vL39/f4/VdiOJjo5WQkKC3nnnHfXq1avIGpl3331Xvr6+io6O9mKVAAC4zuVTSy1bttS+ffv07bffeizEGIahxx57TEuWLNHKlSvVqFEjp/4OHTqocuXKWrFihaNtz549ysjIKPH0CErm5+enmJgYnTp1SjExMUpNTdXx48eVmprq1M5CXwCAWbh81dLMmTMVFxcnX19fjx185MiRWrhwoVJSUpzuHRMQEKCqVatKkkaMGKGlS5cqMTFRVqtVo0ePliR9/fXXLh2Dq5aK4j4yAIDyztXvb5eCTMHjBzytpH3OmzdPgwcPlnTphniLFi1yuiFeSaeWCiPIFI87+wIAyjOPBpmWLVtqypQpevDBB0v9svvxxx/18ssvq0GDBnryySevrnIPI8gAAGA+Hn3W0muvvaZ//OMfGjlypHr06KGOHTsqLCxMVapU0alTp7Rz506tW7dOO3bs0GOPPaYRI0Z47BcBAAAoiVtPv163bp0+/PBDrV27VgcOHND58+dVp04dtW/fXpGRkRo4cOA13UumLDAjAwCA+Xj01JKZEWQAADAfjz+iAAAAoLzxzG15YRoXLlxQRkZGsX0RERGqUqXKda4IAICrR5CpYDIyMvToo48W2zd37lw1a9bsOlcEAMDVI8hUMBEREZo7d64k6cCBA3r22Wc1adIkNWjQQBEREV6uDgAA9xBkKpgqVaoUmXVp0KABMzEAAFNye7Hvt99+q23btjnep6Sk6P7779dTTz2l3NxcjxYHAABQGreDzP/7f/9PP/zwgyRp37596t+/v6pVq6bk5GQ98cQTHi8QAACgJG4HmR9++EHt2rWTJCUnJ6tr165auHChEhMT9cknn3i6PgAAgBK5HWQMw5DdbpckffXVV+rdu7ckKTw8XMePH/dsdQAAAKVwO8h07NhRM2fO1Pvvv6+0tDT16dNHkpSenq6QkBCPFwgAAFASt4PMrFmz9O233+qxxx7TpEmT1LRpU0nSxx9/rDvvvNPjBQIAAJTE7cuv27Rp43TVUoEXX3xRvr6+HikKAADAFR67jwy3tgcAANeb20HGx8dHFoulxH6bzXZNBQEAALjK7SCzZMkSp/d5eXn67rvv9N577+mZZ57xWGEAAABX4naQiY6OLtLWr18//e53v9OHH36oYcOGeaQwAACAK3H7qqWS3HHHHVqxYoWndgcAAHBFHgky58+f16uvvqqbbrrJE7sDAABwidunlgIDA50W+xqGoTNnzqhatWpasGCBR4sDAAAojdtB5pVXXnEKMj4+PgoODlanTp0UGBjo0eIAAABK43aQ+cMf/qDw8PBiL8HOyMhQRESERwoDAAC4ErfXyDRq1EjHjh0r0n7ixAk1atTII0UBAAC44qqefl2cs2fPcndfAABwXbl8amn8+PGSJIvFoilTpqhatWqOPpvNpg0bNqhdu3YeLxAAAKAkLgeZ7777TtLFGZlt27bJz8/P0efn56e2bdtq4sSJnq8QAACgBC4HmVWrVkmShgwZotmzZ8tqtZZZUQAAAK5w+6qlefPmlUUdAAAAbnM7yEjSpk2b9NFHHykjI0O5ublOfYsXL/ZIYQAAAFfi9lVLSUlJuvPOO7Vr1y4tWbJEeXl52rFjh1auXKmAgICyqBEAAKBYbgeZ5557Tq+88opSU1Pl5+en2bNna/fu3frTn/7EzfAAAMB15XaQ+emnn9SnTx9JF69Wys7OlsVi0bhx4zR37lyPFwgAAFASt4NMYGCgzpw5I0m66aabtH37dknS6dOnde7cOc9WBwAAUAq3F/t27dpVX375pVq3bq2YmBiNGTNGK1eu1Jdffql77723LGoEAAAolttB5vXXX9eFCxckSZMmTVLlypX19ddf66GHHtLkyZM9XiAAAEBJ3A4yQUFBjp99fHz05JNPerQgAAAAV7m9RsbX11e//vprkfYTJ07I19fXI0UBAAC4wmNPv87JyXF6/hIAAEBZc/nU0quvvirp4tOv/+///k81atRw9NlsNq1Zs0a33HKL5ysEAAAogctB5pVXXpF0cUYmISHB6TSSn5+fGjZsqISEBM9XCAAAUAKXg0x6erok6Z577tHixYsVGBhYZkUBAAC4wu2rllatWuX0Pj8/XxcuXHA61QQAAHA9uLzYNzU1VYmJiU5tzz77rGrUqKFatWqpZ8+eOnXqlKfrAwAAKJHLQebll19Wdna24/3XX3+tKVOm6Omnn9ZHH32kgwcPasaMGWVSJAAAQHFcDjI7duzQnXfe6Xj/8ccfq0ePHpo0aZIefPBBvfTSS0pNTS2TIgEAAIrjcpA5c+aMateu7Xi/bt06p2cr/e53v9OhQ4c8Wx0AAEApXA4yN910k3bt2iVJOnv2rLZu3eo0Q3PixAlVq1bNrYOvWbNG9913n8LCwmSxWPTpp5869Q8ePFgWi8Xp1atXL7eOAQAAblwuB5mYmBiNHTtW77//voYPH67Q0FDdcccdjv5NmzapefPmbh08Oztbbdu21Zw5c0oc06tXLx0+fNjxWrRokVvHAAAANy6XL7+eMmWKfvnlFz3++OMKDQ3VggULnG6Kt2jRIt13331uHTwqKkpRUVGljvH391doaKhb+wUAABWDy0GmatWqmj9/fon9he8v4ymrV69W3bp1FRgYqD/84Q+aOXOm01qdwnJycpSTk+N4n5WVVSZ1AQAA73P7oZHXU69evTR//nytWLFCL7zwgtLS0hQVFSWbzVbiNvHx8QoICHC8wsPDr2PFAADgenL7zr7XU//+/R0/t27dWm3atFGTJk20evVqpyumLhcXF6fx48c73mdlZRFmAAC4QZXrGZnCGjdurDp16mjv3r0ljvH395fVanV6AQCAG5OpgszPP/+sEydOqF69et4uBQAAlAPXdGrpwoULqlKlylVvf/bsWafZlfT0dG3ZskVBQUEKCgrSM888o4ceekihoaH66aef9MQTT6hp06aKjIy8lrIBAMANwu0ZGbvdrhkzZuimm25SjRo1tG/fPknS008/rXfeecetfW3atEnt27dX+/btJUnjx49X+/btNWXKFPn6+ur777/XH//4RzVr1kzDhg1Thw4dtHbtWvn7+7tbNgAAuAG5PSMzc+ZMvffee/rnP/+p4cOHO9pbtWqlWbNmadiwYS7vq1u3bjIMo8T+zz//3N3yAABABeL2jMz8+fM1d+5cDRw40OmGeG3bttXu3bs9WhwAAEBp3A4yv/zyi5o2bVqk3W63Ky8vzyNFAQAAuMLtINOyZUutXbu2SPvHH3/sWOsCAABwPbi9RmbKlCkaNGiQfvnlF9ntdi1evFh79uzR/Pnz9dlnn5VFjQAAAMVye0YmOjpaqamp+uqrr1S9enVNmTJFu3btUmpqqnr06FEWNQIAABTrqu4jc9ddd+nLL7/0dC0AAABuMdWdfQEAAC7n9oxMYGCgLBZLkXaLxaIqVaqoadOmGjx4sIYMGeKRAgEAAEpyVYt9n332WUVFRen222+XJH3zzTdavny5Ro0apfT0dI0YMUL5+flON8wDAADwNLeDzLp16zRz5kzFxsY6tb/11lv64osv9Mknn6hNmzZ69dVXCTIAAKBMub1G5vPPP1f37t2LtN97772ORwr07t3b8QwmAACAsuJ2kAkKClJqamqR9tTUVAUFBUmSsrOzVbNmzWuvDgAAoBRun1p6+umn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U6Q9PNyzHzAAALho+CxpeBnt+8yZMwoICCixv1wHmasRFxen8ePHO97b7XadPHlStWvXZu1AIVlZWQoPD9fBgwc9etoNAIBrZRiGzpw5o7CwsFLHlesgU6dOHfn6+uro0aNO7UePHlVoaGix2/j7+8vf39+prVatWmVV4g3BarUSZAAA5U5pMzEFyvXl135+furQoYNWrFjhaLPb7VqxYoU6d+7sxcoAAEB5UK5nZCRp/PjxGjRokDp27Kjbb79ds2bNUnZ2toYMGeLt0gAAgJeV+yDz5z//WceOHdOUKVN05MgRtWvXTsuXLy+yABju8/f319SpU4ucigMAwCzK/X1kAAAASlKu18gAAACUhiADAABMiyADAABMiyADAABMiyADAABMiyADAABMiyADAABMiyADAABMiyADAABMiyAD4KqtXr1aFotFp0+f9nYpprBixQq1aNFCNputzI6xc+dO1a9fX9nZ2WV2DKA8IcgA5djgwYNlsVgUGxtbpG/UqFGyWCwaPHjw9S/sN3feeacOHz6sgICAMj3OuXPnFBcXpyZNmqhKlSoKDg7W3XffrZSUFMeYhg0batasWW7vu1u3bho7dqznii3FE088ocmTJ8vX11czZsxQvXr1dPLkSacxW7dulb+/vz777LOrOkbLli11xx136OWXX/ZEyUC5R5AByrnw8HAlJSXp/PnzjrYLFy5o4cKFioiIuOb95+XlFWnLzc11aVs/Pz+FhobKYrFccx2liY2N1eLFi/Xaa69p9+7dWr58ufr166cTJ06U6XE9ad26dfrpp5/00EMPSZLi4uIUHh6uUaNGOcbk5eVp0KBBevjhh9W3b99i91Pc36uwIUOG6M0331R+fr5nigfKMwNAuTVo0CAjOjraaNWqlbFgwQJH+wcffGC0adPGiI6ONgYNGuRoX7ZsmdGlSxcjICDACAoKMvr06WPs3bvX0Z+enm5IMpKSkoyuXbsa/v7+xrx58xzHmTlzplGvXj2jYcOGhmEYxvz5840OHToYNWrUMEJCQowBAwYYR48edexv1apVhiTj1KlTjra5c+ca9evXN6pWrWrcf//9xksvvWQEBAQ4/V6ffvqp0b59e8Pf399o1KiRMW3aNCMvL6/EzyEgIMBITEwssf/uu+82JDm9DMMwjh8/bvTv398ICwszqlatarRq1cpYuHCh0+dbeLv09HRj3rx5RWpesmSJcfn/ZG7ZssXo1q2bUaNGDaNmzZrGrbfeamzcuLHEGkeNGmX069fPqW3Xrl1GlSpVjOTkZMMwDGPq1KlGgwYNjMzMTMMwSv577d+/3+jbt69Rq1Yto1q1akbLli2N//znP4795uTkGP7+/sZXX31VYj3AjYIZGcAEhg4dqnnz5jnev/vuuxoyZEiRcdnZ2Ro/frw2bdqkFStWyMfHRw888IDsdrvTuCeffFJjxozRrl27FBkZKeni+o09e/boyy+/dJzWyMvL04wZM7R161Z9+umn2r9/f6mnsv773/8qNjZWY8aM0ZYtW9SjRw89++yzTmPWrl2rRx55RGPGjNHOnTv11ltvKTExsci4y4WGhmrp0qU6c+ZMsf2LFy9W/fr1NX36dB0+fFiHDx+WdHHmqkOHDvrPf/6j7du369FHH9Vf//pXffPNN5Kk2bNnq3Pnzho+fLhju/Dw8BLruNzAgQNVv359bdy4UZs3b9aTTz6pypUrlzh+7dq16tixo1PbLbfcovj4eI0YMUKff/654uPjNW/ePFmtVqdxhf9eo0aNUk5OjtasWaNt27bphRdeUI0aNRzj/fz81K5dO61du9al3wUwNW8nKQAlK5gp+fXXXw1/f39j//79xv79+40qVaoYx44dKzIjU9ixY8cMSca2bdsMw7j0//BnzZpV5DghISFGTk5OqfVs3LjRkGScOXPGMIyiMzJ//vOfjT59+jhtM3DgQKfZjXvvvdd47rnnnMa8//77Rr169Uo8blpamlG/fn2jcuXKRseOHY2xY8ca69atcxrToEED45VXXim1fsMwjD59+hgTJkxwvL/77ruNMWPGOI1xZUamZs2apc4SFRYQEGDMnz+/SLvdbje6detm+Pj4FKmjpL9X69atjWnTppV6vAceeMAYPHiwy/UBZsWMDGACwcHB6tOnjxITEzVv3jz16dNHderUKTLuxx9/1IABA9S4cWNZrVY1bNhQkpSRkeE0rvDMgCS1bt1afn5+Tm2bN2/Wfffdp4iICNWsWVN33313sfsrsGfPHt1+++1ObYXfb926VdOnT1eNGjUcr4IZkXPnzhW7365du2rfvn1asWKF+vXrpx07duiuu+7SjBkzih1fwGazacaMGWrdurWCgoJUo0YNff755yXW747x48frb3/7m7p3767nn39eP/30U6njz58/rypVqhRpt1gsmjRpkux2uyZPnlzstoX/Xo8//rhmzpypLl26aOrUqfr++++LbFO1atUSP0/gRkKQAUxi6NChSkxM1HvvvaehQ4cWO+a+++7TyZMn9fbbb2vDhg3asGGDpKKLd6tXr15k28Jt2dnZioyMlNVq1QcffKCNGzdqyZIlxe7PHWfPntUzzzyjLVu2OF7btm3Tjz/+WOwXfYHKlSvrrrvu0j/+8Q998cUXmj59umbMmFFqLS+++KJmz56tf/zjH1q1apW2bNmiyMjIK9bv4+MjwzCc2govsp02bZp27NihPn36aOXKlWrZsqXj8ylOnTp1dOrUqWL7KlWq5PRvYYX/Nn/729+0b98+/fWvf9W2bdvUsWNHvfbaa05jTp48qeDg4BLrAW4Uxf+3BkC506tXL+Xm5spisTjWtVzuxIkT2rNnj95++23dddddki5eKXO1du/erRMnTuj55593rBvZtGlTqds0b95cGzdudGor/P7WW2/Vnj171LRp06uuTbp4mXF+fr4uXLggPz8/+fn5Fbk/y3//+19FR0fr4YcfliTZ7Xb98MMPatmypWNMcdsFBwfrzJkzys7OdoSILVu2FKmhWbNmatasmcaNG6cBAwZo3rx5euCBB4qtt3379tq5c+e1/MpOwsPDFRsbq9jYWMXFxentt9/W6NGjHf3bt29Xv379PHY8oLwiyAAm4evrq127djl+LiwwMFC1a9fW3LlzVa9ePWVkZOjJJ5+86uNFRETIz89Pr732mmJjY7V9+/YrnsoZPXq0unbtqpdffln33XefVq5cqWXLljldnj1lyhT17dtXERER6tevn3x8fLR161Zt375dM2fOLHa/3bp104ABA9SxY0fVrl1bO3fu1FNPPaV77rnHsTC2YcOGWrNmjfr37y9/f3/VqVNHN998sz7++GN9/fXXCgwM1Msvv6yjR486BZmGDRtqw4YN2r9/v2rUqKGgoCB16tRJ1apV01NPPaXHH39cGzZsUGJiomOb8+fP6+9//7v69eunRo0a6eeff9bGjRsdl1YXJzIyUu+9954rH/0VjR07VlFRUWrWrJlOnTqlVatWqUWLFo7+/fv365dfflH37t09cjygPOPUEmAiVqu1yBUtBXx8fJSUlKTNmzerVatWGjdunF588cWrPlZwcLASExOVnJysli1b6vnnn9e//vWvUrfp0qWLEhIS9PLLL6tt27Zavny5xo0b53TKKDIyUp999pm++OIL3Xbbbbrjjjv0yiuvqEGDBiXutyAE9OzZUy1atNDo0aMVGRmpjz76yDFm+vTp2r9/v5o0aeI4pTJ58mTdeuutioyMVLdu3RQaGqr777/fad8TJ06Ur6+vWrZsqeDgYGVkZCgoKEgLFizQ0qVL1bp1ay1atEjTpk1zbOPr66sTJ07okUceUbNmzfSnP/1JUVFReuaZZ0r8HQYOHKgdO3Zoz549pX6GrrDZbBo1apRatGihXr16qVmzZnrjjTcc/YsWLVLPnj1L/UyBG4XFKHwiGAA8aPjw4dq9ezeXAkv6+9//rqysLL311ltldozc3FzdfPPNWrhwobp06VJmxwHKC2ZkAHjUv/71L23dulV79+7Va6+9pvfee0+DBg3ydlnlwqRJk9SgQYMi9/XxpIyMDD311FOEGFQYzMgA8Kg//elPWr16tc6cOaPGjRtr9OjRxT4rCgA8gSADAABMi1NLAADAtAgyAADAtAgyAADAtAgyAADAtAgyAADAtAgyAADAtAgyAADAtAgyAADAtP4/MxOU0qq4o6wAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#from above code we see null value exists in the marriage status\n", "#filling the null value\n", "sns.boxplot(pcos_df['Marraige Status (Yrs)'])\n", "sns.distplot(pcos_df['Marraige Status (Yrs)'])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\997129956.py:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df[\"Cycle(R/I)\"].replace({5: 4}, inplace=True)\n", "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\997129956.py:3: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df[\"Cycle(R/I)\"].replace({2: 0, 4: 1}, inplace=True)\n" ] } ], "source": [ "# pcos_df[pcos_df[\"Cycle(R/I)\"] == 5] \n", "pcos_df[\"Cycle(R/I)\"].replace({5: 4}, inplace=True)\n", "pcos_df[\"Cycle(R/I)\"].replace({2: 0, 4: 1}, inplace=True)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\1769027688.py:5: UserWarning: \n", "\n", "`distplot` is a deprecated function and will be removed in seaborn v0.14.0.\n", "\n", "Please adapt your code to use either `displot` (a figure-level function with\n", "similar flexibility) or `histplot` (an axes-level function for histograms).\n", "\n", "For a guide to updating your code to use the new functions, please see\n", "https://gist.github.com/mwaskom/de44147ed2974457ad6372750bbe5751\n", "\n", " sns.distplot(pcos_df['Fast food (Y/N)'])\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ISEheOihh867/9ddUud69tln8f333+Obb75p8dpGo9Hz70pE7cNwQ0QeoaGhyMzM9NySkpJw4sQJTJ48GQMGDMCKFSuwa9cuvPrqqwDgmTl077334vjx47jzzjuxf/9+DB06FAsXLpTzW+mQ2NhYSJKEysrKZu/XaDRQq9WQJKnJcavVirVr17YYbnr06IFZs2bhL3/5C4QQzZ5TUVGBLl26dOwbIApyDDdEdEG7du2C0+nEiy++iJEjR6JXr144ffr0eeelpqbi/vvvx6effopHHnkEb775JgDXOBIAcDgcbb523759sXXr1ibHtm7dil69ekGtVqNv376w2+2eAb4AcObMGeTk5CArK8vzHOfeDwDbt2+/4HV1Oh2ysrJw6NChNtW7ceNGREdHIzs7u8VzHn/8ceTm5uKjjz5q9v4DBw5g0KBBbbouETXFcENEF5SZmQmbzYaFCxfi+PHj+M9//oPFixc3OWfu3Ln4+uuvkZeXh927d+O7775D3759AQDp6emQJAmrV69GWVlZk1lWF/PII49g/fr1eOaZZ5Cbm4v33nsPixYtwh//+EcAQM+ePXH99ddj1qxZ2LJlC/bt24c77rgDKSkpuP766wG4uszWrl2Lf/zjHzh69CgWLVqEtWvXXvTaEydOxJYtW1pdKwB8/vnnLbbauCUkJGDevHmeLr9znThxAqdOncKECRPadF0i+hW5B/0QkX+YMWOGuP7665u976WXXhJJSUnCaDSKiRMnivfff7/JIOE5c+aIHj16CL1eL7p06SLuvPNOUV5e7nn8008/LRITE4UkSWLGjBnNXqO5AcVCCPHJJ5+IrKwsodVqRVpamnjhhRea3F9RUSHuvPNOERkZ6akvNze3yTlvv/226Nq1qzAajWLKlCniH//4xwUHFAshxMGDB4XRaBRVVVXn3ffuu+82+/jU1FTx7bffNjl27oBit+rqahEXF3fegOLnnntOTJw48YJ1EdHFSUK00PFLRBTkbrnlFgwePPi8dWyas3v3bowfPx5lZWXQarVtvpbVakXPnj2xdOnS8wZRE1HbsFuKiKgFL7zwgmeV4Yux2+1YuHBhu4INABQUFOCvf/0rgw2RF7DlhoiIiBSFLTdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQo/x/KcJjhf75TcwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(pcos_df['Fast food (Y/N)'])\n", "#\n", "# Distribution plot\n", "#\n", "sns.distplot(pcos_df['Fast food (Y/N)'])" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\1109871252.py:1: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df['Marraige Status (Yrs)'].fillna((pcos_df['Marraige Status (Yrs)'].median()), inplace=True)\n", "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\1109871252.py:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df['Fast food (Y/N)'].fillna(pcos_df['Fast food (Y/N)'].mode(),inplace=True)\n" ] } ], "source": [ "\n", "pcos_df['Marraige Status (Yrs)'].fillna((pcos_df['Marraige Status (Yrs)'].median()), inplace=True)\n", "pcos_df['Fast food (Y/N)'].fillna(pcos_df['Fast food (Y/N)'].mode(),inplace=True)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "columns_to_delete = [\"Sl. No\", \"Patient File No.\", \"Column1\"]\n", "for col in columns_to_delete:\n", " if col in pcos_df.columns:\n", " del pcos_df[col]\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 541 entries, 0 to 540\n", "Data columns (total 42 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 PCOS (Y/N) 541 non-null int64 \n", " 1 Age (yrs) 541 non-null int64 \n", " 2 Weight (Kg) 541 non-null float64\n", " 3 Height(Cm) 541 non-null float64\n", " 4 BMI 541 non-null float64\n", " 5 Blood Group 541 non-null int64 \n", " 6 Pulse rate(bpm) 541 non-null int64 \n", " 7 RR (breaths/min) 541 non-null int64 \n", " 8 Hb(g/dl) 541 non-null float64\n", " 9 Cycle(R/I) 541 non-null int64 \n", " 10 Cycle length(days) 541 non-null int64 \n", " 11 Marraige Status (Yrs) 541 non-null float64\n", " 12 Pregnant(Y/N) 541 non-null int64 \n", " 13 No. of abortions 541 non-null int64 \n", " 14 I beta-HCG(mIU/mL) 541 non-null float64\n", " 15 II beta-HCG(mIU/mL) 541 non-null object \n", " 16 FSH(mIU/mL) 541 non-null float64\n", " 17 LH(mIU/mL) 541 non-null float64\n", " 18 FSH/LH 541 non-null float64\n", " 19 Hip(inch) 541 non-null int64 \n", " 20 Waist(inch) 541 non-null int64 \n", " 21 Waist:Hip Ratio 541 non-null float64\n", " 22 TSH (mIU/L) 541 non-null float64\n", " 23 AMH(ng/mL) 541 non-null object \n", " 24 PRL(ng/mL) 541 non-null float64\n", " 25 Vit D3 (ng/mL) 541 non-null float64\n", " 26 PRG(ng/mL) 541 non-null float64\n", " 27 RBS(mg/dl) 541 non-null float64\n", " 28 Weight gain(Y/N) 541 non-null int64 \n", " 29 hair growth(Y/N) 541 non-null int64 \n", " 30 Skin darkening (Y/N) 541 non-null int64 \n", " 31 Hair loss(Y/N) 541 non-null int64 \n", " 32 Pimples(Y/N) 541 non-null int64 \n", " 33 Fast food (Y/N) 540 non-null float64\n", " 34 Reg.Exercise(Y/N) 541 non-null int64 \n", " 35 BP _Systolic (mmHg) 541 non-null int64 \n", " 36 BP _Diastolic (mmHg) 541 non-null int64 \n", " 37 Follicle No. (L) 541 non-null int64 \n", " 38 Follicle No. (R) 541 non-null int64 \n", " 39 Avg. F size (L) (mm) 541 non-null float64\n", " 40 Avg. F size (R) (mm) 541 non-null float64\n", " 41 Endometrium (mm) 541 non-null float64\n", "dtypes: float64(19), int64(21), object(2)\n", "memory usage: 177.6+ KB\n" ] } ], "source": [ "pcos_df.info()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "\n", "pcos_df[\"II beta-HCG(mIU/mL)\"] = pd.to_numeric(pcos_df[\"II beta-HCG(mIU/mL)\"], errors='coerce')\n", "pcos_df[\"AMH(ng/mL)\"] = pd.to_numeric(pcos_df[\"AMH(ng/mL)\"], errors='coerce')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\691906672.py:1: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df[\"II beta-HCG(mIU/mL)\"].fillna(pcos_df[\"II beta-HCG(mIU/mL)\"].median(),inplace=True)\n", "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\691906672.py:2: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df[\"AMH(ng/mL)\"].fillna(pcos_df[\"AMH(ng/mL)\"].median(),inplace=True)\n" ] } ], "source": [ "pcos_df[\"II beta-HCG(mIU/mL)\"].fillna(pcos_df[\"II beta-HCG(mIU/mL)\"].median(),inplace=True)\n", "pcos_df[\"AMH(ng/mL)\"].fillna(pcos_df[\"AMH(ng/mL)\"].median(),inplace=True)\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PCOS (Y/N) \n", "min : 0 , max: 1 \n", "\n", " Age (yrs) \n", "min : 20 , max: 48 \n", "\n", "Weight (Kg) \n", "min : 31.0 , max: 108.0 \n", "\n", "Height(Cm) \n", "min : 137.0 , max: 180.0 \n", "\n", "BMI \n", "min : 12.4 , max: 38.9 \n", "\n", "Blood Group \n", "min : 11 , max: 18 \n", "\n", "Pulse rate(bpm) \n", "min : 13 , max: 82 \n", "\n", "RR (breaths/min) \n", "min : 16 , max: 28 \n", "\n", "Hb(g/dl) \n", "min : 8.5 , max: 14.8 \n", "\n", "Cycle(R/I) \n", "min : 0 , max: 1 \n", "\n", "Cycle length(days) \n", "min : 0 , max: 12 \n", "\n", "Marraige Status (Yrs) \n", "min : 0.0 , max: 30.0 \n", "\n", "Pregnant(Y/N) \n", "min : 0 , max: 1 \n", "\n", "No. of abortions \n", "min : 0 , max: 5 \n", "\n", " I beta-HCG(mIU/mL) \n", "min : 1.3 , max: 32460.97 \n", "\n", "II beta-HCG(mIU/mL) \n", "min : 0.99 , max: 25000.0 \n", "\n", "FSH(mIU/mL) \n", "min : 0.21 , max: 5052.0 \n", "\n", "LH(mIU/mL) \n", "min : 0.02 , max: 2018.0 \n", "\n", "FSH/LH \n", "min : 0.0 , max: 1372.83 \n", "\n", "Hip(inch) \n", "min : 26 , max: 48 \n", "\n", "Waist(inch) \n", "min : 24 , max: 47 \n", "\n", "Waist:Hip Ratio \n", "min : 0.76 , max: 0.98 \n", "\n", "TSH (mIU/L) \n", "min : 0.04 , max: 65.0 \n", "\n", "AMH(ng/mL) \n", "min : 0.1 , max: 66.0 \n", "\n", "PRL(ng/mL) \n", "min : 0.4 , max: 128.24 \n", "\n", "Vit D3 (ng/mL) \n", "min : 0.0 , max: 6014.66 \n", "\n", "PRG(ng/mL) \n", "min : 0.047 , max: 85.0 \n", "\n", "RBS(mg/dl) \n", "min : 60.0 , max: 350.0 \n", "\n", "Weight gain(Y/N) \n", "min : 0 , max: 1 \n", "\n", "hair growth(Y/N) \n", "min : 0 , max: 1 \n", "\n", "Skin darkening (Y/N) \n", "min : 0 , max: 1 \n", "\n", "Hair loss(Y/N) \n", "min : 0 , max: 1 \n", "\n", "Pimples(Y/N) \n", "min : 0 , max: 1 \n", "\n", "Fast food (Y/N) \n", "min : 0.0 , max: 1.0 \n", "\n", "Reg.Exercise(Y/N) \n", "min : 0 , max: 1 \n", "\n", "BP _Systolic (mmHg) \n", "min : 12 , max: 140 \n", "\n", "BP _Diastolic (mmHg) \n", "min : 8 , max: 100 \n", "\n", "Follicle No. (L) \n", "min : 0 , max: 22 \n", "\n", "Follicle No. (R) \n", "min : 0 , max: 20 \n", "\n", "Avg. F size (L) (mm) \n", "min : 0.0 , max: 24.0 \n", "\n", "Avg. F size (R) (mm) \n", "min : 0.0 , max: 24.0 \n", "\n", "Endometrium (mm) \n", "min : 0.0 , max: 18.0 \n", "\n" ] } ], "source": [ "for col in pcos_df.columns:\n", " print(col,\"\\nmin : \",min(pcos_df[col]),\", max:\",max(pcos_df[col]),\"\\n\")\n" ] }, { "cell_type": "code", "execution_count": 18, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PCOS (Y/N)Age (yrs)Weight (Kg)Height(Cm)BMIBlood GroupPulse rate(bpm)RR (breaths/min)Hb(g/dl)Cycle(R/I)...Pimples(Y/N)Fast food (Y/N)Reg.Exercise(Y/N)BP _Systolic (mmHg)BP _Diastolic (mmHg)Follicle No. (L)Follicle No. (R)Avg. F size (L) (mm)Avg. F size (R) (mm)Endometrium (mm)
count541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000...541.000000540.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000541.000000
mean0.32717231.43068459.637153156.48483524.30757913.80221873.24768919.24399311.1600370.279113...0.4898340.5148150.247689114.66173876.9279116.1293906.64140515.01811515.4517018.475915
std0.4696155.41100611.0282876.0335454.0551291.8408124.4302851.6886290.8669040.448978...0.5003590.5002440.4320707.3845565.5741124.2292944.4368893.5668393.3188482.165381
min0.00000020.00000031.000000137.00000012.40000011.00000013.00000016.0000008.5000000.000000...0.0000000.0000000.00000012.0000008.0000000.0000000.0000000.0000000.0000000.000000
25%0.00000028.00000052.000000152.00000021.60000013.00000072.00000018.00000010.5000000.000000...0.0000000.0000000.000000110.00000070.0000003.0000003.00000013.00000013.0000007.000000
50%0.00000031.00000059.000000156.00000024.20000014.00000072.00000018.00000011.0000000.000000...0.0000001.0000000.000000110.00000080.0000005.0000006.00000015.00000016.0000008.500000
75%1.00000035.00000065.000000160.00000026.60000015.00000074.00000020.00000011.7000001.000000...1.0000001.0000000.000000120.00000080.0000009.00000010.00000018.00000018.0000009.800000
max1.00000048.000000108.000000180.00000038.90000018.00000082.00000028.00000014.8000001.000000...1.0000001.0000001.000000140.000000100.00000022.00000020.00000024.00000024.00000018.000000
\n", "

8 rows × 42 columns

\n", "
" ], "text/plain": [ " PCOS (Y/N) Age (yrs) Weight (Kg) Height(Cm) BMI \\\n", "count 541.000000 541.000000 541.000000 541.000000 541.000000 \n", "mean 0.327172 31.430684 59.637153 156.484835 24.307579 \n", "std 0.469615 5.411006 11.028287 6.033545 4.055129 \n", "min 0.000000 20.000000 31.000000 137.000000 12.400000 \n", "25% 0.000000 28.000000 52.000000 152.000000 21.600000 \n", "50% 0.000000 31.000000 59.000000 156.000000 24.200000 \n", "75% 1.000000 35.000000 65.000000 160.000000 26.600000 \n", "max 1.000000 48.000000 108.000000 180.000000 38.900000 \n", "\n", " Blood Group Pulse rate(bpm) RR (breaths/min) Hb(g/dl) \\\n", "count 541.000000 541.000000 541.000000 541.000000 \n", "mean 13.802218 73.247689 19.243993 11.160037 \n", "std 1.840812 4.430285 1.688629 0.866904 \n", "min 11.000000 13.000000 16.000000 8.500000 \n", "25% 13.000000 72.000000 18.000000 10.500000 \n", "50% 14.000000 72.000000 18.000000 11.000000 \n", "75% 15.000000 74.000000 20.000000 11.700000 \n", "max 18.000000 82.000000 28.000000 14.800000 \n", "\n", " Cycle(R/I) ... Pimples(Y/N) Fast food (Y/N) Reg.Exercise(Y/N) \\\n", "count 541.000000 ... 541.000000 540.000000 541.000000 \n", "mean 0.279113 ... 0.489834 0.514815 0.247689 \n", "std 0.448978 ... 0.500359 0.500244 0.432070 \n", "min 0.000000 ... 0.000000 0.000000 0.000000 \n", "25% 0.000000 ... 0.000000 0.000000 0.000000 \n", "50% 0.000000 ... 0.000000 1.000000 0.000000 \n", "75% 1.000000 ... 1.000000 1.000000 0.000000 \n", "max 1.000000 ... 1.000000 1.000000 1.000000 \n", "\n", " BP _Systolic (mmHg) BP _Diastolic (mmHg) Follicle No. (L) \\\n", "count 541.000000 541.000000 541.000000 \n", "mean 114.661738 76.927911 6.129390 \n", "std 7.384556 5.574112 4.229294 \n", "min 12.000000 8.000000 0.000000 \n", "25% 110.000000 70.000000 3.000000 \n", "50% 110.000000 80.000000 5.000000 \n", "75% 120.000000 80.000000 9.000000 \n", "max 140.000000 100.000000 22.000000 \n", "\n", " Follicle No. (R) Avg. F size (L) (mm) Avg. F size (R) (mm) \\\n", "count 541.000000 541.000000 541.000000 \n", "mean 6.641405 15.018115 15.451701 \n", "std 4.436889 3.566839 3.318848 \n", "min 0.000000 0.000000 0.000000 \n", "25% 3.000000 13.000000 13.000000 \n", "50% 6.000000 15.000000 16.000000 \n", "75% 10.000000 18.000000 18.000000 \n", "max 20.000000 24.000000 24.000000 \n", "\n", " Endometrium (mm) \n", "count 541.000000 \n", "mean 8.475915 \n", "std 2.165381 \n", "min 0.000000 \n", "25% 7.000000 \n", "50% 8.500000 \n", "75% 9.800000 \n", "max 18.000000 \n", "\n", "[8 rows x 42 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pcos_df.describe()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PCOS (Y/N) 0\n", " Age (yrs) 0\n", "Weight (Kg) 0\n", "Height(Cm) 0\n", "BMI 0\n", "Blood Group 0\n", "Pulse rate(bpm) 0\n", "RR (breaths/min) 0\n", "Hb(g/dl) 0\n", "Cycle(R/I) 0\n", "Cycle length(days) 0\n", "Marraige Status (Yrs) 0\n", "Pregnant(Y/N) 0\n", "No. of abortions 0\n", " I beta-HCG(mIU/mL) 0\n", "II beta-HCG(mIU/mL) 0\n", "FSH(mIU/mL) 0\n", "LH(mIU/mL) 0\n", "FSH/LH 0\n", "Hip(inch) 0\n", "Waist(inch) 0\n", "Waist:Hip Ratio 0\n", "TSH (mIU/L) 0\n", "AMH(ng/mL) 0\n", "PRL(ng/mL) 0\n", "Vit D3 (ng/mL) 0\n", "PRG(ng/mL) 0\n", "RBS(mg/dl) 0\n", "Weight gain(Y/N) 0\n", "hair growth(Y/N) 0\n", "Skin darkening (Y/N) 0\n", "Hair loss(Y/N) 0\n", "Pimples(Y/N) 0\n", "Fast food (Y/N) 1\n", "Reg.Exercise(Y/N) 0\n", "BP _Systolic (mmHg) 0\n", "BP _Diastolic (mmHg) 0\n", "Follicle No. (L) 0\n", "Follicle No. (R) 0\n", "Avg. F size (L) (mm) 0\n", "Avg. F size (R) (mm) 0\n", "Endometrium (mm) 0\n", "dtype: int64" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pcos_df.isna().sum()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\User\\AppData\\Local\\Temp\\ipykernel_16484\\3206681086.py:1: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", "\n", "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", "\n", "\n", " pcos_df['Fast food (Y/N)'].fillna(pcos_df['Fast food (Y/N)'].median(),inplace=True)\n" ] } ], "source": [ "pcos_df['Fast food (Y/N)'].fillna(pcos_df['Fast food (Y/N)'].median(),inplace=True)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PCOS (Y/N) 0\n", " Age (yrs) 0\n", "Weight (Kg) 0\n", "Height(Cm) 0\n", "BMI 0\n", "Blood Group 0\n", "Pulse rate(bpm) 0\n", "RR (breaths/min) 0\n", "Hb(g/dl) 0\n", "Cycle(R/I) 0\n", "Cycle length(days) 0\n", "Marraige Status (Yrs) 0\n", "Pregnant(Y/N) 0\n", "No. of abortions 0\n", " I beta-HCG(mIU/mL) 0\n", "II beta-HCG(mIU/mL) 0\n", "FSH(mIU/mL) 0\n", "LH(mIU/mL) 0\n", "FSH/LH 0\n", "Hip(inch) 0\n", "Waist(inch) 0\n", "Waist:Hip Ratio 0\n", "TSH (mIU/L) 0\n", "AMH(ng/mL) 0\n", "PRL(ng/mL) 0\n", "Vit D3 (ng/mL) 0\n", "PRG(ng/mL) 0\n", "RBS(mg/dl) 0\n", "Weight gain(Y/N) 0\n", "hair growth(Y/N) 0\n", "Skin darkening (Y/N) 0\n", "Hair loss(Y/N) 0\n", "Pimples(Y/N) 0\n", "Fast food (Y/N) 0\n", "Reg.Exercise(Y/N) 0\n", "BP _Systolic (mmHg) 0\n", "BP _Diastolic (mmHg) 0\n", "Follicle No. (L) 0\n", "Follicle No. (R) 0\n", "Avg. F size (L) (mm) 0\n", "Avg. F size (R) (mm) 0\n", "Endometrium (mm) 0\n", "dtype: int64" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pcos_df.isna().sum()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "pcos_df.to_csv(\"cleandata.csv\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.10.7" } }, "nbformat": 4, "nbformat_minor": 2 }