From 01bcb5adc660139ad44ceb93df3598af1bd86d33 Mon Sep 17 00:00:00 2001 From: Pedro Leal Date: Tue, 2 Aug 2022 17:32:33 +0100 Subject: [PATCH] final --- 1.-Data Cleaning.ipynb | 2359 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 2264 insertions(+), 95 deletions(-) diff --git a/1.-Data Cleaning.ipynb b/1.-Data Cleaning.ipynb index 1a927b9..3211dff 100644 --- a/1.-Data Cleaning.ipynb +++ b/1.-Data Cleaning.ipynb @@ -71,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 670, "metadata": {}, "outputs": [], "source": [ @@ -90,11 +90,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 671, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your code here\n", + "\n", + "diamonds=pd.read_csv(\"diamonds.csv\")" ] }, { @@ -109,11 +111,192 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 672, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 53940 entries, 0 to 53939\n", + "Data columns (total 11 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Unnamed: 0 53940 non-null int64 \n", + " 1 carat 53940 non-null float64\n", + " 2 cut 53940 non-null object \n", + " 3 color 53940 non-null object \n", + " 4 clarity 53940 non-null object \n", + " 5 depth 53940 non-null float64\n", + " 6 table 53940 non-null float64\n", + " 7 price 53940 non-null int64 \n", + " 8 x 53940 non-null float64\n", + " 9 y 53940 non-null float64\n", + " 10 z 53940 non-null float64\n", + "dtypes: float64(6), int64(2), object(3)\n", + "memory usage: 4.5+ MB\n" + ] + }, + { + "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", + "
Unnamed: 0caratdepthtablepricexyz
count53940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.000000
mean26970.5000000.79794061.74940557.4571843932.7997225.7311575.7345263.538734
std15571.2810970.4740111.4326212.2344913989.4397381.1217611.1421350.705699
min1.0000000.20000043.00000043.000000326.0000000.0000000.0000000.000000
25%13485.7500000.40000061.00000056.000000950.0000004.7100004.7200002.910000
50%26970.5000000.70000061.80000057.0000002401.0000005.7000005.7100003.530000
75%40455.2500001.04000062.50000059.0000005324.2500006.5400006.5400004.040000
max53940.0000005.01000079.00000095.00000018823.00000010.74000058.90000031.800000
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 carat depth table price \\\n", + "count 53940.000000 53940.000000 53940.000000 53940.000000 53940.000000 \n", + "mean 26970.500000 0.797940 61.749405 57.457184 3932.799722 \n", + "std 15571.281097 0.474011 1.432621 2.234491 3989.439738 \n", + "min 1.000000 0.200000 43.000000 43.000000 326.000000 \n", + "25% 13485.750000 0.400000 61.000000 56.000000 950.000000 \n", + "50% 26970.500000 0.700000 61.800000 57.000000 2401.000000 \n", + "75% 40455.250000 1.040000 62.500000 59.000000 5324.250000 \n", + "max 53940.000000 5.010000 79.000000 95.000000 18823.000000 \n", + "\n", + " x y z \n", + "count 53940.000000 53940.000000 53940.000000 \n", + "mean 5.731157 5.734526 3.538734 \n", + "std 1.121761 1.142135 0.705699 \n", + "min 0.000000 0.000000 0.000000 \n", + "25% 4.710000 4.720000 2.910000 \n", + "50% 5.700000 5.710000 3.530000 \n", + "75% 6.540000 6.540000 4.040000 \n", + "max 10.740000 58.900000 31.800000 " + ] + }, + "execution_count": 672, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds.head()\n", + "\n", + "diamonds.info()\n", + "\n", + "diamonds.describe()" ] }, { @@ -127,11 +310,27 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 673, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "' There is one Unnamed column, which does not tell what it referes, probabily is the ID. It has 3 columns (x,y,z) that are also not clear what are they refering to '" + ] + }, + "execution_count": 673, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds.head()\n", + "\n", + "\n", + "\"\"\" There is one Unnamed column, which does not tell what it referes, probabily is the ID. It has 3 columns (x,y,z) that are also not clear what are they refering to \"\"\"" ] }, { @@ -145,11 +344,24 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 674, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(53940, 11)" + ] + }, + "execution_count": 674, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds.shape\n" ] }, { @@ -163,11 +375,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 675, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your code here\n", + "\n", + "diamonds[\"clarity\"].replace(to_replace=[\"J\", \"SI2\", \"SI1\", \"VS2\", \"VS1\", \"VVS2\", \"VVS1\", \"IF\"],value=[0,1,2,3,4,5,6,7],inplace=True)\n", + "\n" ] }, { @@ -181,11 +396,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 676, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your code here\n", + "\n", + "diamonds[\"color\"].replace(to_replace=[\"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\"],value=[6,5,4,3,2,1,0],inplace=True)" ] }, { @@ -199,11 +416,68 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 677, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(53940, 11)\n", + "\n", + "RangeIndex: 53940 entries, 0 to 53939\n", + "Data columns (total 11 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Unnamed: 0 53940 non-null int64 \n", + " 1 carat 53940 non-null float64\n", + " 2 cut 53940 non-null object \n", + " 3 color 53940 non-null int64 \n", + " 4 clarity 53940 non-null object \n", + " 5 depth 53940 non-null float64\n", + " 6 table 53940 non-null float64\n", + " 7 price 53940 non-null int64 \n", + " 8 x 53940 non-null float64\n", + " 9 y 53940 non-null float64\n", + " 10 z 53940 non-null float64\n", + "dtypes: float64(6), int64(3), object(2)\n", + "memory usage: 4.5+ MB\n", + "None\n" + ] + }, + { + "data": { + "text/plain": [ + "Unnamed: 0 0\n", + "carat 0\n", + "cut 0\n", + "color 0\n", + "clarity 0\n", + "depth 0\n", + "table 0\n", + "price 0\n", + "x 0\n", + "y 0\n", + "z 0\n", + "dtype: int64" + ] + }, + "execution_count": 677, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "print(diamonds.shape)\n", + "\n", + "print(diamonds.info())\n", + "\n", + "\n", + "\"\"\" All values are Non-Null \"\"\"\n", + "\n", + "diamonds.isnull().sum()" ] }, { @@ -221,11 +495,26 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 678, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "' Probabily price should be a float instead of an integer, since price is a continuous variable. Unless all diamonds '" + ] + }, + "execution_count": 678, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds.dtypes\n", + "\n", + "\"\"\" Probabily price should be a float instead of an integer, since price is a continuous variable. Unless all diamonds \"\"\"" ] }, { @@ -241,11 +530,173 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code and comments here" + "execution_count": 679, + "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", + "
Unnamed: 0caratcolordepthtablepricexyz
count53940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.000000
mean26970.5000000.7979403.40580361.74940557.4571843932.7997225.7311575.7345263.538734
std15571.2810970.4740111.7011051.4326212.2344913989.4397381.1217611.1421350.705699
min1.0000000.2000000.00000043.00000043.000000326.0000000.0000000.0000000.000000
25%13485.7500000.4000002.00000061.00000056.000000950.0000004.7100004.7200002.910000
50%26970.5000000.7000003.00000061.80000057.0000002401.0000005.7000005.7100003.530000
75%40455.2500001.0400005.00000062.50000059.0000005324.2500006.5400006.5400004.040000
max53940.0000005.0100006.00000079.00000095.00000018823.00000010.74000058.90000031.800000
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 carat color depth table \\\n", + "count 53940.000000 53940.000000 53940.000000 53940.000000 53940.000000 \n", + "mean 26970.500000 0.797940 3.405803 61.749405 57.457184 \n", + "std 15571.281097 0.474011 1.701105 1.432621 2.234491 \n", + "min 1.000000 0.200000 0.000000 43.000000 43.000000 \n", + "25% 13485.750000 0.400000 2.000000 61.000000 56.000000 \n", + "50% 26970.500000 0.700000 3.000000 61.800000 57.000000 \n", + "75% 40455.250000 1.040000 5.000000 62.500000 59.000000 \n", + "max 53940.000000 5.010000 6.000000 79.000000 95.000000 \n", + "\n", + " price x y z \n", + "count 53940.000000 53940.000000 53940.000000 53940.000000 \n", + "mean 3932.799722 5.731157 5.734526 3.538734 \n", + "std 3989.439738 1.121761 1.142135 0.705699 \n", + "min 326.000000 0.000000 0.000000 0.000000 \n", + "25% 950.000000 4.710000 4.720000 2.910000 \n", + "50% 2401.000000 5.700000 5.710000 3.530000 \n", + "75% 5324.250000 6.540000 6.540000 4.040000 \n", + "max 18823.000000 10.740000 58.900000 31.800000 " + ] + }, + "execution_count": 679, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code and comments here\n", + "\n", + "diamonds.describe()" ] }, { @@ -261,11 +712,383 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 680, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0caratcutcolorclaritydepthtablepricexyz
220722081.00Premium3159.159.031426.556.480.0
231423151.01Premium2I158.159.031676.666.600.0
479147921.10Premium3163.059.036966.506.470.0
547154721.01Premium4159.258.038376.506.470.0
10167101681.50Good3I164.061.047317.157.040.0
11182111831.07Ideal4161.656.049540.006.620.0
11963119641.00Very Good2363.353.051390.000.000.0
13601136021.15Ideal3359.256.055646.886.830.0
15951159521.14Fair3457.567.063810.000.000.0
24394243952.18Premium2159.461.0126318.498.450.0
24520245211.56Ideal3362.254.0128000.000.000.0
26123261242.25Premium1261.358.0153978.528.420.0
26243262441.20Premium6662.159.0156860.000.000.0
27112271132.20Premium2261.259.0172658.428.370.0
27429274302.25Premium2162.859.0180340.000.000.0
27503275042.02Premium2362.753.0182078.027.950.0
27739277402.80Good3163.858.0187888.908.850.0
49556495570.71Good4164.160.021300.000.000.0
49557495580.71Good4164.160.021300.000.000.0
51506515071.12Premium3I160.459.023836.716.670.0
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 carat cut color clarity depth table price x \\\n", + "2207 2208 1.00 Premium 3 1 59.1 59.0 3142 6.55 \n", + "2314 2315 1.01 Premium 2 I1 58.1 59.0 3167 6.66 \n", + "4791 4792 1.10 Premium 3 1 63.0 59.0 3696 6.50 \n", + "5471 5472 1.01 Premium 4 1 59.2 58.0 3837 6.50 \n", + "10167 10168 1.50 Good 3 I1 64.0 61.0 4731 7.15 \n", + "11182 11183 1.07 Ideal 4 1 61.6 56.0 4954 0.00 \n", + "11963 11964 1.00 Very Good 2 3 63.3 53.0 5139 0.00 \n", + "13601 13602 1.15 Ideal 3 3 59.2 56.0 5564 6.88 \n", + "15951 15952 1.14 Fair 3 4 57.5 67.0 6381 0.00 \n", + "24394 24395 2.18 Premium 2 1 59.4 61.0 12631 8.49 \n", + "24520 24521 1.56 Ideal 3 3 62.2 54.0 12800 0.00 \n", + "26123 26124 2.25 Premium 1 2 61.3 58.0 15397 8.52 \n", + "26243 26244 1.20 Premium 6 6 62.1 59.0 15686 0.00 \n", + "27112 27113 2.20 Premium 2 2 61.2 59.0 17265 8.42 \n", + "27429 27430 2.25 Premium 2 1 62.8 59.0 18034 0.00 \n", + "27503 27504 2.02 Premium 2 3 62.7 53.0 18207 8.02 \n", + "27739 27740 2.80 Good 3 1 63.8 58.0 18788 8.90 \n", + "49556 49557 0.71 Good 4 1 64.1 60.0 2130 0.00 \n", + "49557 49558 0.71 Good 4 1 64.1 60.0 2130 0.00 \n", + "51506 51507 1.12 Premium 3 I1 60.4 59.0 2383 6.71 \n", + "\n", + " y z \n", + "2207 6.48 0.0 \n", + "2314 6.60 0.0 \n", + "4791 6.47 0.0 \n", + "5471 6.47 0.0 \n", + "10167 7.04 0.0 \n", + "11182 6.62 0.0 \n", + "11963 0.00 0.0 \n", + "13601 6.83 0.0 \n", + "15951 0.00 0.0 \n", + "24394 8.45 0.0 \n", + "24520 0.00 0.0 \n", + "26123 8.42 0.0 \n", + "26243 0.00 0.0 \n", + "27112 8.37 0.0 \n", + "27429 0.00 0.0 \n", + "27503 7.95 0.0 \n", + "27739 8.85 0.0 \n", + "49556 0.00 0.0 \n", + "49557 0.00 0.0 \n", + "51506 6.67 0.0 " + ] + }, + "execution_count": 680, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds[(diamonds[\"x\"]==0)|(diamonds[\"y\"]==0)|(diamonds[\"z\"]==0)]\n" ] }, { @@ -284,11 +1107,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 681, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your code here\n", + "\n", + "def calculate_z(row):\n", + " return (row[\"x\"]+row[\"y\"])*0.5*row[\"depth\"]" ] }, { @@ -300,11 +1126,70 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 682, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/wf/ysxbv8152xb5ck7nz1ply8sw0000gp/T/ipykernel_23403/454509050.py:8: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " diamonds[\"z\"][condition]=diamonds[condition].apply(calculate_z,axis=1).values\n" + ] + } + ], + "source": [ + "#your code here\n", + "\n", + "condition=(diamonds[\"x\"]==0.0)|(diamonds[\"y\"]==0.0)|(diamonds[\"z\"]==0.0)\n", + "\n", + "indexs=diamonds[condition].apply(calculate_z,axis=1).index\n", + "\n", + "\n", + "diamonds[\"z\"][condition]=diamonds[condition].apply(calculate_z,axis=1).values\n" + ] + }, + { + "cell_type": "code", + "execution_count": 683, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2207 385.0365\n", + "2314 385.2030\n", + "4791 408.5550\n", + "5471 383.9120\n", + "10167 454.0800\n", + "11182 203.8960\n", + "11963 0.0000\n", + "13601 405.8160\n", + "15951 0.0000\n", + "24394 503.1180\n", + "24520 0.0000\n", + "26123 519.2110\n", + "26243 0.0000\n", + "27112 513.7740\n", + "27429 0.0000\n", + "27503 500.6595\n", + "27739 566.2250\n", + "49556 0.0000\n", + "49557 0.0000\n", + "51506 404.0760\n", + "Name: z, dtype: float64" + ] + }, + "execution_count": 683, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "diamonds[\"z\"][condition]" ] }, { @@ -320,11 +1205,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 684, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your code here\n", + "\n", + "diamonds[\"z\"].replace(to_replace=0.0,value=np.nan,inplace=True)" ] }, { @@ -336,11 +1223,173 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 685, + "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", + "
Unnamed: 0caratcolordepthtablepricexyz
count53940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053940.00000053933.000000
mean26970.5000000.7979403.40580361.74940557.4571843932.7997225.7311575.7345263.643648
std15571.2810970.4740111.7011051.4326212.2344913989.4397381.1217611.1421356.850398
min1.0000000.2000000.00000043.00000043.000000326.0000000.0000000.0000001.070000
25%13485.7500000.4000002.00000061.00000056.000000950.0000004.7100004.7200002.910000
50%26970.5000000.7000003.00000061.80000057.0000002401.0000005.7000005.7100003.530000
75%40455.2500001.0400005.00000062.50000059.0000005324.2500006.5400006.5400004.040000
max53940.0000005.0100006.00000079.00000095.00000018823.00000010.74000058.900000566.225000
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 carat color depth table \\\n", + "count 53940.000000 53940.000000 53940.000000 53940.000000 53940.000000 \n", + "mean 26970.500000 0.797940 3.405803 61.749405 57.457184 \n", + "std 15571.281097 0.474011 1.701105 1.432621 2.234491 \n", + "min 1.000000 0.200000 0.000000 43.000000 43.000000 \n", + "25% 13485.750000 0.400000 2.000000 61.000000 56.000000 \n", + "50% 26970.500000 0.700000 3.000000 61.800000 57.000000 \n", + "75% 40455.250000 1.040000 5.000000 62.500000 59.000000 \n", + "max 53940.000000 5.010000 6.000000 79.000000 95.000000 \n", + "\n", + " price x y z \n", + "count 53940.000000 53940.000000 53940.000000 53933.000000 \n", + "mean 3932.799722 5.731157 5.734526 3.643648 \n", + "std 3989.439738 1.121761 1.142135 6.850398 \n", + "min 326.000000 0.000000 0.000000 1.070000 \n", + "25% 950.000000 4.710000 4.720000 2.910000 \n", + "50% 2401.000000 5.700000 5.710000 3.530000 \n", + "75% 5324.250000 6.540000 6.540000 4.040000 \n", + "max 18823.000000 10.740000 58.900000 566.225000 " + ] + }, + "execution_count": 685, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds.describe()" ] }, { @@ -361,11 +1410,38 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 686, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unnamed: 0 0\n", + "carat 0\n", + "cut 0\n", + "color 0\n", + "clarity 0\n", + "depth 0\n", + "table 0\n", + "price 0\n", + "x 0\n", + "y 0\n", + "z 7\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "#your code here\n", + "\n", + "print(diamonds.isna().sum())\n", + "\n", + "\"\"\" 7 Nan. Drop the lines \"\"\"\n", + "\n", + "ind=diamonds[diamonds[\"z\"].isna()].index\n", + "\n", + "diamonds.drop(labels=ind,axis=0,inplace=True)" ] }, { @@ -380,20 +1456,235 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 687, + "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", + "
Unnamed: 0caratcolordepthtablepricexyz
count53933.00000053933.00000053933.00000053933.00000053933.00000053933.00000053933.00000053933.00000053933.000000
mean26970.1953160.7978843.40580061.74933357.4570023932.1550265.7319015.7352703.643648
std15571.4737400.4739831.7011511.4325012.2340523988.7002831.1199321.1403396.850398
min1.0000000.2000000.00000043.00000043.000000326.0000000.0000003.6800001.070000
25%13485.0000000.4000002.00000061.00000056.000000950.0000004.7100004.7200002.910000
50%26971.0000000.7000003.00000061.80000057.0000002401.0000005.7000005.7100003.530000
75%40455.0000001.0400005.00000062.50000059.0000005324.0000006.5400006.5400004.040000
max53940.0000005.0100006.00000079.00000095.00000018823.00000010.74000058.900000566.225000
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 carat color depth table \\\n", + "count 53933.000000 53933.000000 53933.000000 53933.000000 53933.000000 \n", + "mean 26970.195316 0.797884 3.405800 61.749333 57.457002 \n", + "std 15571.473740 0.473983 1.701151 1.432501 2.234052 \n", + "min 1.000000 0.200000 0.000000 43.000000 43.000000 \n", + "25% 13485.000000 0.400000 2.000000 61.000000 56.000000 \n", + "50% 26971.000000 0.700000 3.000000 61.800000 57.000000 \n", + "75% 40455.000000 1.040000 5.000000 62.500000 59.000000 \n", + "max 53940.000000 5.010000 6.000000 79.000000 95.000000 \n", + "\n", + " price x y z \n", + "count 53933.000000 53933.000000 53933.000000 53933.000000 \n", + "mean 3932.155026 5.731901 5.735270 3.643648 \n", + "std 3988.700283 1.119932 1.140339 6.850398 \n", + "min 326.000000 0.000000 3.680000 1.070000 \n", + "25% 950.000000 4.710000 4.720000 2.910000 \n", + "50% 2401.000000 5.700000 5.710000 3.530000 \n", + "75% 5324.000000 6.540000 6.540000 4.040000 \n", + "max 18823.000000 10.740000 58.900000 566.225000 " + ] + }, + "execution_count": 687, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "describe=diamonds.describe()\n", + "describe" + ] + }, + { + "cell_type": "code", + "execution_count": 688, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.5" + ] + }, + "execution_count": 688, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "diamonds[\"depth\"].quantile(0.75)-diamonds[\"depth\"].quantile(0.25)" + ] + }, + { + "cell_type": "code", + "execution_count": 689, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your comments here\n", + "\n", + "def find_outlier(data_frame):\n", + "\n", + " q1=diamonds[\"depth\"].quantile(0.25)\n", + "\n", + " q3=diamonds[\"depth\"].quantile(0.75)\n", + "\n", + " iq=q3-q1\n", + "\n", + " condition=(diamonds[\"depth\"]>q3+1.5*iq)|(diamonds[\"depth\"]q3+1.5*iq)|(data_frame[element]\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0caratcutcolorclaritydepthtablepricexyzoutlier_caratoutlier_coloroutlier_depthoutlier_tableoutlier_priceoutlier_xoutlier_youtlier_z
010.23Ideal5161.555.03263.953.982.43FalseFalseFalseFalseFalseFalseFalseFalse
120.21Premium5259.861.03263.893.842.31FalseFalseFalseFalseFalseFalseFalseFalse
230.23Good5456.965.03274.054.072.31FalseFalseFalseTrueFalseFalseFalseFalse
340.29Premium1362.458.03344.204.232.63FalseFalseFalseFalseFalseFalseFalseFalse
450.31Good0163.358.03354.344.352.75FalseFalseFalseFalseFalseFalseFalseFalse
............................................................
53935539360.72Ideal6260.857.027575.755.763.50FalseFalseFalseFalseFalseFalseFalseFalse
53936539370.72Good6263.155.027575.695.753.61FalseFalseFalseFalseFalseFalseFalseFalse
53937539380.70Very Good6262.860.027575.665.683.56FalseFalseFalseFalseFalseFalseFalseFalse
53938539390.86Premium2161.058.027576.156.123.74FalseFalseFalseFalseFalseFalseFalseFalse
53939539400.75Ideal6162.255.027575.835.873.64FalseFalseFalseFalseFalseFalseFalseFalse
\n", + "

53933 rows × 19 columns

\n", + "" + ], + "text/plain": [ + " Unnamed: 0 carat cut color clarity depth table price x \\\n", + "0 1 0.23 Ideal 5 1 61.5 55.0 326 3.95 \n", + "1 2 0.21 Premium 5 2 59.8 61.0 326 3.89 \n", + "2 3 0.23 Good 5 4 56.9 65.0 327 4.05 \n", + "3 4 0.29 Premium 1 3 62.4 58.0 334 4.20 \n", + "4 5 0.31 Good 0 1 63.3 58.0 335 4.34 \n", + "... ... ... ... ... ... ... ... ... ... \n", + "53935 53936 0.72 Ideal 6 2 60.8 57.0 2757 5.75 \n", + "53936 53937 0.72 Good 6 2 63.1 55.0 2757 5.69 \n", + "53937 53938 0.70 Very Good 6 2 62.8 60.0 2757 5.66 \n", + "53938 53939 0.86 Premium 2 1 61.0 58.0 2757 6.15 \n", + "53939 53940 0.75 Ideal 6 1 62.2 55.0 2757 5.83 \n", + "\n", + " y z outlier_carat outlier_color outlier_depth outlier_table \\\n", + "0 3.98 2.43 False False False False \n", + "1 3.84 2.31 False False False False \n", + "2 4.07 2.31 False False False True \n", + "3 4.23 2.63 False False False False \n", + "4 4.35 2.75 False False False False \n", + "... ... ... ... ... ... ... \n", + "53935 5.76 3.50 False False False False \n", + "53936 5.75 3.61 False False False False \n", + "53937 5.68 3.56 False False False False \n", + "53938 6.12 3.74 False False False False \n", + "53939 5.87 3.64 False False False False \n", + "\n", + " outlier_price outlier_x outlier_y outlier_z \n", + "0 False False False False \n", + "1 False False False False \n", + "2 False False False False \n", + "3 False False False False \n", + "4 False False False False \n", + "... ... ... ... ... \n", + "53935 False False False False \n", + "53936 False False False False \n", + "53937 False False False False \n", + "53938 False False False False \n", + "53939 False False False False \n", + "\n", + "[53933 rows x 19 columns]" + ] + }, + "execution_count": 692, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds" ] }, { @@ -423,9 +2112,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 693, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "#Run this code\n", "fig, ax = plt.subplots(1,2, figsize=(10, 5))\n", @@ -443,11 +2145,423 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code here" + "execution_count": 694, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0caratcutcolorclaritydepthtablepricexyzoutlier_caratoutlier_coloroutlier_depthoutlier_tableoutlier_priceoutlier_xoutlier_youtlier_z
220722081.00Premium3159.159.031426.556.48385.0365FalseFalseFalseFalseFalseFalseFalseTrue
231423151.01Premium2I158.159.031676.666.60385.2030FalseFalseFalseFalseFalseFalseFalseTrue
479147921.10Premium3163.059.036966.506.47408.5550FalseFalseFalseFalseFalseFalseFalseTrue
547154721.01Premium4159.258.038376.506.47383.9120FalseFalseFalseFalseFalseFalseFalseTrue
10167101681.50Good3I164.061.047317.157.04454.0800FalseFalseFalseFalseFalseFalseFalseTrue
11182111831.07Ideal4161.656.049540.006.62203.8960FalseFalseFalseFalseFalseFalseFalseTrue
13601136021.15Ideal3359.256.055646.886.83405.8160FalseFalseFalseFalseFalseFalseFalseTrue
24394243952.18Premium2159.461.0126318.498.45503.1180TrueFalseFalseFalseTrueFalseFalseTrue
26123261242.25Premium1261.358.0153978.528.42519.2110TrueFalseFalseFalseTrueFalseFalseTrue
27112271132.20Premium2261.259.0172658.428.37513.7740TrueFalseFalseFalseTrueFalseFalseTrue
27503275042.02Premium2362.753.0182078.027.95500.6595TrueFalseFalseFalseTrueFalseFalseTrue
27739277402.80Good3163.858.0187888.908.85566.2250TrueFalseFalseFalseTrueFalseFalseTrue
48410484110.51Very Good5461.854.719705.125.1531.8000FalseFalseFalseFalseFalseFalseFalseTrue
51506515071.12Premium3I160.459.023836.716.67404.0760FalseFalseFalseFalseFalseFalseFalseTrue
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 carat cut color clarity depth table price x \\\n", + "2207 2208 1.00 Premium 3 1 59.1 59.0 3142 6.55 \n", + "2314 2315 1.01 Premium 2 I1 58.1 59.0 3167 6.66 \n", + "4791 4792 1.10 Premium 3 1 63.0 59.0 3696 6.50 \n", + "5471 5472 1.01 Premium 4 1 59.2 58.0 3837 6.50 \n", + "10167 10168 1.50 Good 3 I1 64.0 61.0 4731 7.15 \n", + "11182 11183 1.07 Ideal 4 1 61.6 56.0 4954 0.00 \n", + "13601 13602 1.15 Ideal 3 3 59.2 56.0 5564 6.88 \n", + "24394 24395 2.18 Premium 2 1 59.4 61.0 12631 8.49 \n", + "26123 26124 2.25 Premium 1 2 61.3 58.0 15397 8.52 \n", + "27112 27113 2.20 Premium 2 2 61.2 59.0 17265 8.42 \n", + "27503 27504 2.02 Premium 2 3 62.7 53.0 18207 8.02 \n", + "27739 27740 2.80 Good 3 1 63.8 58.0 18788 8.90 \n", + "48410 48411 0.51 Very Good 5 4 61.8 54.7 1970 5.12 \n", + "51506 51507 1.12 Premium 3 I1 60.4 59.0 2383 6.71 \n", + "\n", + " y z outlier_carat outlier_color outlier_depth \\\n", + "2207 6.48 385.0365 False False False \n", + "2314 6.60 385.2030 False False False \n", + "4791 6.47 408.5550 False False False \n", + "5471 6.47 383.9120 False False False \n", + "10167 7.04 454.0800 False False False \n", + "11182 6.62 203.8960 False False False \n", + "13601 6.83 405.8160 False False False \n", + "24394 8.45 503.1180 True False False \n", + "26123 8.42 519.2110 True False False \n", + "27112 8.37 513.7740 True False False \n", + "27503 7.95 500.6595 True False False \n", + "27739 8.85 566.2250 True False False \n", + "48410 5.15 31.8000 False False False \n", + "51506 6.67 404.0760 False False False \n", + "\n", + " outlier_table outlier_price outlier_x outlier_y outlier_z \n", + "2207 False False False False True \n", + "2314 False False False False True \n", + "4791 False False False False True \n", + "5471 False False False False True \n", + "10167 False False False False True \n", + "11182 False False False False True \n", + "13601 False False False False True \n", + "24394 False True False False True \n", + "26123 False True False False True \n", + "27112 False True False False True \n", + "27503 False True False False True \n", + "27739 False True False False True \n", + "48410 False False False False True \n", + "51506 False False False False True " + ] + }, + "execution_count": 694, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code here\n", + "\n", + "diamonds[diamonds[\"z\"]>10]\n" ] }, { @@ -461,11 +2575,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 695, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "#your code here\n", + "\n", + "diamonds.loc[diamonds[\"z\"]>10,\"z\"]=0\n", + "\n", + "\n", + "\n", + "diamonds.loc[diamonds[\"z\"]==0.0,\"z\"]=diamonds.apply(calculate_z,axis=1)\n", + "\n" ] }, { @@ -477,11 +2598,41 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "diamonds.loc[48410]" + "execution_count": 696, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Unnamed: 0 2208\n", + "carat 1.0\n", + "cut Premium\n", + "color 3\n", + "clarity 1\n", + "depth 59.1\n", + "table 59.0\n", + "price 3142\n", + "x 6.55\n", + "y 6.48\n", + "z 385.0365\n", + "outlier_carat False\n", + "outlier_color False\n", + "outlier_depth False\n", + "outlier_table False\n", + "outlier_price False\n", + "outlier_x False\n", + "outlier_y False\n", + "outlier_z True\n", + "Name: 2207, dtype: object" + ] + }, + "execution_count": 696, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "diamonds.loc[2207]" ] }, { @@ -495,7 +2646,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 697, "metadata": {}, "outputs": [], "source": [ @@ -513,7 +2664,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 698, "metadata": {}, "outputs": [], "source": [ @@ -531,7 +2682,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 699, "metadata": {}, "outputs": [], "source": [ @@ -547,9 +2698,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 700, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "#Run this code\n", "fig, ax = plt.subplots(1,2, figsize=(10, 5))\n", @@ -567,7 +2731,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 701, "metadata": {}, "outputs": [], "source": [ @@ -583,7 +2747,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 702, "metadata": {}, "outputs": [], "source": [ @@ -593,7 +2757,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3.9.7 ('base')", "language": "python", "name": "python3" }, @@ -607,7 +2771,12 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.9.7" + }, + "vscode": { + "interpreter": { + "hash": "40d3a090f54c6569ab1632332b64b2c03c39dcf918b08424e98f38b5ae0af88f" + } } }, "nbformat": 4,