From 27a634e95bbce5d791c4e14d5660a4b6debcc54f Mon Sep 17 00:00:00 2001 From: frankherfert Date: Sat, 11 Jun 2016 15:05:32 +0200 Subject: [PATCH] Update Lec 44 - Aggregation.ipynb corrected typos --- Lec 44 - Aggregation.ipynb | 5888 ++++++++++++++++++++++++------------ 1 file changed, 3925 insertions(+), 1963 deletions(-) diff --git a/Lec 44 - Aggregation.ipynb b/Lec 44 - Aggregation.ipynb index f5b80d8..4a235f2 100644 --- a/Lec 44 - Aggregation.ipynb +++ b/Lec 44 - Aggregation.ipynb @@ -1,1963 +1,3925 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:e15f796c810b6782ee8033e188d97395fb0602eeee010c7ad5f94bec363fe48c" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import numpy as np\n", - "import pandas as pd\n", - "from pandas import Series,DataFrame" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 1 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Data Agrregation consists of operations that result in a scalar (e.g. mean(),sum(),count(), etc)\n", - "\n", - "#Let's get a csv data set to play with\n", - "url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/'\n", - "\n", - "\n", - "# Save thewinquality.csv file in the same folder as your ipython notebooks, note the delimiter used ;\n", - "dframe_wine = pd.read_csv('winequality_red.csv',sep=';')" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 6 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Let's get a preview\n", - "dframe_wine.head()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
0 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 7, - "text": [ - " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", - "0 7.4 0.70 0.00 1.9 0.076 \n", - "1 7.8 0.88 0.00 2.6 0.098 \n", - "2 7.8 0.76 0.04 2.3 0.092 \n", - "3 11.2 0.28 0.56 1.9 0.075 \n", - "4 7.4 0.70 0.00 1.9 0.076 \n", - "\n", - " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", - "0 11 34 0.9978 3.51 0.56 \n", - "1 25 67 0.9968 3.20 0.68 \n", - "2 15 54 0.9970 3.26 0.65 \n", - "3 17 60 0.9980 3.16 0.58 \n", - "4 11 34 0.9978 3.51 0.56 \n", - "\n", - " alcohol quality \n", - "0 9.4 5 \n", - "1 9.8 5 \n", - "2 9.8 5 \n", - "3 9.8 6 \n", - "4 9.4 5 " - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# How about we find out the average alcohol content for the wine\n", - "dframe_wine['alcohol'].mean()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 8, - "text": [ - "10.422983114446529" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# That was an example of an aggregate, how about we make our own?\n", - "def max_to_min(arr):\n", - " return arr.max() - arr.min()\n", - "\n", - "# Let's group the wines by \"quality\"\n", - "wino = dframe_wine.groupby('quality')\n", - "\n", - "# Show\n", - "wino.describe()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
alcoholchloridescitric aciddensityfixed acidityfree sulfur dioxidepHresidual sugarsulphatestotal sulfur dioxidevolatile acidity
quality
3count 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000
mean 9.955000 0.122500 0.171000 0.997464 8.360000 11.000000 3.398000 2.635000 0.570000 24.900000 0.884500
std 0.818009 0.066241 0.250664 0.002002 1.770875 9.763879 0.144052 1.401596 0.122020 16.828877 0.331256
min 8.400000 0.061000 0.000000 0.994710 6.700000 3.000000 3.160000 1.200000 0.400000 9.000000 0.440000
25% 9.725000 0.079000 0.005000 0.996150 7.150000 5.000000 3.312500 1.875000 0.512500 12.500000 0.647500
50% 9.925000 0.090500 0.035000 0.997565 7.500000 6.000000 3.390000 2.100000 0.545000 15.000000 0.845000
75% 10.575000 0.143000 0.327500 0.998770 9.875000 14.500000 3.495000 3.100000 0.615000 42.500000 1.010000
max 11.000000 0.267000 0.660000 1.000800 11.600000 34.000000 3.630000 5.700000 0.860000 49.000000 1.580000
4count 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000
mean 10.265094 0.090679 0.174151 0.996542 7.779245 12.264151 3.381509 2.694340 0.596415 36.245283 0.693962
std 0.934776 0.076192 0.201030 0.001575 1.626624 9.025926 0.181441 1.789436 0.239391 27.583374 0.220110
min 9.000000 0.045000 0.000000 0.993400 4.600000 3.000000 2.740000 1.300000 0.330000 7.000000 0.230000
25% 9.600000 0.067000 0.030000 0.995650 6.800000 6.000000 3.300000 1.900000 0.490000 14.000000 0.530000
50% 10.000000 0.080000 0.090000 0.996500 7.500000 11.000000 3.370000 2.100000 0.560000 26.000000 0.670000
75% 11.000000 0.089000 0.270000 0.997450 8.400000 15.000000 3.500000 2.800000 0.600000 49.000000 0.870000
max 13.100000 0.610000 1.000000 1.001000 12.500000 41.000000 3.900000 12.900000 2.000000 119.000000 1.130000
5count 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000
mean 9.899706 0.092736 0.243686 0.997104 8.167254 16.983847 3.304949 2.528855 0.620969 56.513950 0.577041
std 0.736521 0.053707 0.180003 0.001589 1.563988 10.955446 0.150618 1.359753 0.171062 36.993116 0.164801
min 8.500000 0.039000 0.000000 0.992560 5.000000 3.000000 2.880000 1.200000 0.370000 6.000000 0.180000
25% 9.400000 0.074000 0.090000 0.996200 7.100000 9.000000 3.200000 1.900000 0.530000 26.000000 0.460000
50% 9.700000 0.081000 0.230000 0.997000 7.800000 15.000000 3.300000 2.200000 0.580000 47.000000 0.580000
75% 10.200000 0.094000 0.360000 0.997900 8.900000 23.000000 3.400000 2.600000 0.660000 84.000000 0.670000
max 14.900000 0.611000 0.790000 1.003150 15.900000 68.000000 3.740000 15.500000 1.980000 155.000000 1.330000
6count 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000
mean 10.629519 0.084956 0.273824 0.996615 8.347179 15.711599 3.318072 2.477194 0.675329 40.869906 0.497484
std 1.049639 0.039563 0.195108 0.002000 1.797849 9.940911 0.153995 1.441576 0.158650 25.038250 0.160962
min 8.400000 0.034000 0.000000 0.990070 4.700000 1.000000 2.860000 0.900000 0.400000 6.000000 0.160000
25% 9.800000 0.068250 0.090000 0.995402 7.000000 8.000000 3.220000 1.900000 0.580000 23.000000 0.380000
50% 10.500000 0.078000 0.260000 0.996560 7.900000 14.000000 3.320000 2.200000 0.640000 35.000000 0.490000
75% 11.300000 0.088000 0.430000 0.997893 9.400000 21.000000 3.410000 2.500000 0.750000 54.000000 0.600000
max 14.000000 0.415000 0.780000 1.003690 14.300000 72.000000 4.010000 15.400000 1.950000 165.000000 1.040000
7count 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000
mean 11.465913 0.076588 0.375176 0.996104 8.872362 14.045226 3.290754 2.720603 0.741256 35.020101 0.403920
std 0.961933 0.029456 0.194432 0.002176 1.992483 10.175255 0.150101 1.371509 0.135639 33.191206 0.145224
min 9.200000 0.012000 0.000000 0.990640 4.900000 3.000000 2.920000 1.200000 0.390000 7.000000 0.120000
25% 10.800000 0.062000 0.305000 0.994765 7.400000 6.000000 3.200000 2.000000 0.650000 17.500000 0.300000
50% 11.500000 0.073000 0.400000 0.995770 8.800000 11.000000 3.280000 2.300000 0.740000 27.000000 0.370000
75% 12.100000 0.087000 0.490000 0.997360 10.100000 18.000000 3.380000 2.750000 0.830000 43.000000 0.485000
max 14.000000 0.358000 0.760000 1.003200 15.600000 54.000000 3.780000 8.900000 1.360000 289.000000 0.915000
8count 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000
mean 12.094444 0.068444 0.391111 0.995212 8.566667 13.277778 3.267222 2.577778 0.767778 33.444444 0.423333
std 1.224011 0.011678 0.199526 0.002378 2.119656 11.155613 0.200640 1.295038 0.115379 25.433240 0.144914
min 9.800000 0.044000 0.030000 0.990800 5.000000 3.000000 2.880000 1.400000 0.630000 12.000000 0.260000
25% 11.325000 0.062000 0.302500 0.994175 7.250000 6.000000 3.162500 1.800000 0.690000 16.000000 0.335000
50% 12.150000 0.070500 0.420000 0.994940 8.250000 7.500000 3.230000 2.100000 0.740000 21.500000 0.370000
75% 12.875000 0.075500 0.530000 0.997200 10.225000 16.500000 3.350000 2.600000 0.820000 43.000000 0.472500
max 14.000000 0.086000 0.720000 0.998800 12.600000 42.000000 3.720000 6.400000 1.100000 88.000000 0.850000
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 25, - "text": [ - " alcohol chlorides citric acid density fixed acidity \\\n", - "quality \n", - "3 count 10.000000 10.000000 10.000000 10.000000 10.000000 \n", - " mean 9.955000 0.122500 0.171000 0.997464 8.360000 \n", - " std 0.818009 0.066241 0.250664 0.002002 1.770875 \n", - " min 8.400000 0.061000 0.000000 0.994710 6.700000 \n", - " 25% 9.725000 0.079000 0.005000 0.996150 7.150000 \n", - " 50% 9.925000 0.090500 0.035000 0.997565 7.500000 \n", - " 75% 10.575000 0.143000 0.327500 0.998770 9.875000 \n", - " max 11.000000 0.267000 0.660000 1.000800 11.600000 \n", - "4 count 53.000000 53.000000 53.000000 53.000000 53.000000 \n", - " mean 10.265094 0.090679 0.174151 0.996542 7.779245 \n", - " std 0.934776 0.076192 0.201030 0.001575 1.626624 \n", - " min 9.000000 0.045000 0.000000 0.993400 4.600000 \n", - " 25% 9.600000 0.067000 0.030000 0.995650 6.800000 \n", - " 50% 10.000000 0.080000 0.090000 0.996500 7.500000 \n", - " 75% 11.000000 0.089000 0.270000 0.997450 8.400000 \n", - " max 13.100000 0.610000 1.000000 1.001000 12.500000 \n", - "5 count 681.000000 681.000000 681.000000 681.000000 681.000000 \n", - " mean 9.899706 0.092736 0.243686 0.997104 8.167254 \n", - " std 0.736521 0.053707 0.180003 0.001589 1.563988 \n", - " min 8.500000 0.039000 0.000000 0.992560 5.000000 \n", - " 25% 9.400000 0.074000 0.090000 0.996200 7.100000 \n", - " 50% 9.700000 0.081000 0.230000 0.997000 7.800000 \n", - " 75% 10.200000 0.094000 0.360000 0.997900 8.900000 \n", - " max 14.900000 0.611000 0.790000 1.003150 15.900000 \n", - "6 count 638.000000 638.000000 638.000000 638.000000 638.000000 \n", - " mean 10.629519 0.084956 0.273824 0.996615 8.347179 \n", - " std 1.049639 0.039563 0.195108 0.002000 1.797849 \n", - " min 8.400000 0.034000 0.000000 0.990070 4.700000 \n", - " 25% 9.800000 0.068250 0.090000 0.995402 7.000000 \n", - " 50% 10.500000 0.078000 0.260000 0.996560 7.900000 \n", - " 75% 11.300000 0.088000 0.430000 0.997893 9.400000 \n", - " max 14.000000 0.415000 0.780000 1.003690 14.300000 \n", - "7 count 199.000000 199.000000 199.000000 199.000000 199.000000 \n", - " mean 11.465913 0.076588 0.375176 0.996104 8.872362 \n", - " std 0.961933 0.029456 0.194432 0.002176 1.992483 \n", - " min 9.200000 0.012000 0.000000 0.990640 4.900000 \n", - " 25% 10.800000 0.062000 0.305000 0.994765 7.400000 \n", - " 50% 11.500000 0.073000 0.400000 0.995770 8.800000 \n", - " 75% 12.100000 0.087000 0.490000 0.997360 10.100000 \n", - " max 14.000000 0.358000 0.760000 1.003200 15.600000 \n", - "8 count 18.000000 18.000000 18.000000 18.000000 18.000000 \n", - " mean 12.094444 0.068444 0.391111 0.995212 8.566667 \n", - " std 1.224011 0.011678 0.199526 0.002378 2.119656 \n", - " min 9.800000 0.044000 0.030000 0.990800 5.000000 \n", - " 25% 11.325000 0.062000 0.302500 0.994175 7.250000 \n", - " 50% 12.150000 0.070500 0.420000 0.994940 8.250000 \n", - " 75% 12.875000 0.075500 0.530000 0.997200 10.225000 \n", - " max 14.000000 0.086000 0.720000 0.998800 12.600000 \n", - "\n", - " free sulfur dioxide pH residual sugar sulphates \\\n", - "quality \n", - "3 count 10.000000 10.000000 10.000000 10.000000 \n", - " mean 11.000000 3.398000 2.635000 0.570000 \n", - " std 9.763879 0.144052 1.401596 0.122020 \n", - " min 3.000000 3.160000 1.200000 0.400000 \n", - " 25% 5.000000 3.312500 1.875000 0.512500 \n", - " 50% 6.000000 3.390000 2.100000 0.545000 \n", - " 75% 14.500000 3.495000 3.100000 0.615000 \n", - " max 34.000000 3.630000 5.700000 0.860000 \n", - "4 count 53.000000 53.000000 53.000000 53.000000 \n", - " mean 12.264151 3.381509 2.694340 0.596415 \n", - " std 9.025926 0.181441 1.789436 0.239391 \n", - " min 3.000000 2.740000 1.300000 0.330000 \n", - " 25% 6.000000 3.300000 1.900000 0.490000 \n", - " 50% 11.000000 3.370000 2.100000 0.560000 \n", - " 75% 15.000000 3.500000 2.800000 0.600000 \n", - " max 41.000000 3.900000 12.900000 2.000000 \n", - "5 count 681.000000 681.000000 681.000000 681.000000 \n", - " mean 16.983847 3.304949 2.528855 0.620969 \n", - " std 10.955446 0.150618 1.359753 0.171062 \n", - " min 3.000000 2.880000 1.200000 0.370000 \n", - " 25% 9.000000 3.200000 1.900000 0.530000 \n", - " 50% 15.000000 3.300000 2.200000 0.580000 \n", - " 75% 23.000000 3.400000 2.600000 0.660000 \n", - " max 68.000000 3.740000 15.500000 1.980000 \n", - "6 count 638.000000 638.000000 638.000000 638.000000 \n", - " mean 15.711599 3.318072 2.477194 0.675329 \n", - " std 9.940911 0.153995 1.441576 0.158650 \n", - " min 1.000000 2.860000 0.900000 0.400000 \n", - " 25% 8.000000 3.220000 1.900000 0.580000 \n", - " 50% 14.000000 3.320000 2.200000 0.640000 \n", - " 75% 21.000000 3.410000 2.500000 0.750000 \n", - " max 72.000000 4.010000 15.400000 1.950000 \n", - "7 count 199.000000 199.000000 199.000000 199.000000 \n", - " mean 14.045226 3.290754 2.720603 0.741256 \n", - " std 10.175255 0.150101 1.371509 0.135639 \n", - " min 3.000000 2.920000 1.200000 0.390000 \n", - " 25% 6.000000 3.200000 2.000000 0.650000 \n", - " 50% 11.000000 3.280000 2.300000 0.740000 \n", - " 75% 18.000000 3.380000 2.750000 0.830000 \n", - " max 54.000000 3.780000 8.900000 1.360000 \n", - "8 count 18.000000 18.000000 18.000000 18.000000 \n", - " mean 13.277778 3.267222 2.577778 0.767778 \n", - " std 11.155613 0.200640 1.295038 0.115379 \n", - " min 3.000000 2.880000 1.400000 0.630000 \n", - " 25% 6.000000 3.162500 1.800000 0.690000 \n", - " 50% 7.500000 3.230000 2.100000 0.740000 \n", - " 75% 16.500000 3.350000 2.600000 0.820000 \n", - " max 42.000000 3.720000 6.400000 1.100000 \n", - "\n", - " total sulfur dioxide volatile acidity \n", - "quality \n", - "3 count 10.000000 10.000000 \n", - " mean 24.900000 0.884500 \n", - " std 16.828877 0.331256 \n", - " min 9.000000 0.440000 \n", - " 25% 12.500000 0.647500 \n", - " 50% 15.000000 0.845000 \n", - " 75% 42.500000 1.010000 \n", - " max 49.000000 1.580000 \n", - "4 count 53.000000 53.000000 \n", - " mean 36.245283 0.693962 \n", - " std 27.583374 0.220110 \n", - " min 7.000000 0.230000 \n", - " 25% 14.000000 0.530000 \n", - " 50% 26.000000 0.670000 \n", - " 75% 49.000000 0.870000 \n", - " max 119.000000 1.130000 \n", - "5 count 681.000000 681.000000 \n", - " mean 56.513950 0.577041 \n", - " std 36.993116 0.164801 \n", - " min 6.000000 0.180000 \n", - " 25% 26.000000 0.460000 \n", - " 50% 47.000000 0.580000 \n", - " 75% 84.000000 0.670000 \n", - " max 155.000000 1.330000 \n", - "6 count 638.000000 638.000000 \n", - " mean 40.869906 0.497484 \n", - " std 25.038250 0.160962 \n", - " min 6.000000 0.160000 \n", - " 25% 23.000000 0.380000 \n", - " 50% 35.000000 0.490000 \n", - " 75% 54.000000 0.600000 \n", - " max 165.000000 1.040000 \n", - "7 count 199.000000 199.000000 \n", - " mean 35.020101 0.403920 \n", - " std 33.191206 0.145224 \n", - " min 7.000000 0.120000 \n", - " 25% 17.500000 0.300000 \n", - " 50% 27.000000 0.370000 \n", - " 75% 43.000000 0.485000 \n", - " max 289.000000 0.915000 \n", - "8 count 18.000000 18.000000 \n", - " mean 33.444444 0.423333 \n", - " std 25.433240 0.144914 \n", - " min 12.000000 0.260000 \n", - " 25% 16.000000 0.335000 \n", - " 50% 21.500000 0.370000 \n", - " 75% 43.000000 0.472500 \n", - " max 88.000000 0.850000 " - ] - } - ], - "prompt_number": 25 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# We can now apply our own aggregate function, this function takes the max value of the col and subtracts the min value of the col\n", - "wino.agg(max_to_min)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcohol
quality
3 4.9 1.140 0.66 4.5 0.206 31 40 0.00609 0.47 0.46 2.6
4 7.9 0.900 1.00 11.6 0.565 38 112 0.00760 1.16 1.67 4.1
5 10.9 1.150 0.79 14.3 0.572 65 149 0.01059 0.86 1.61 6.4
6 9.6 0.880 0.78 14.5 0.381 71 159 0.01362 1.15 1.55 5.6
7 10.7 0.795 0.76 7.7 0.346 51 282 0.01256 0.86 0.97 4.8
8 7.6 0.590 0.69 5.0 0.042 39 76 0.00800 0.84 0.47 4.2
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 22, - "text": [ - " fixed acidity volatile acidity citric acid residual sugar \\\n", - "quality \n", - "3 4.9 1.140 0.66 4.5 \n", - "4 7.9 0.900 1.00 11.6 \n", - "5 10.9 1.150 0.79 14.3 \n", - "6 9.6 0.880 0.78 14.5 \n", - "7 10.7 0.795 0.76 7.7 \n", - "8 7.6 0.590 0.69 5.0 \n", - "\n", - " chlorides free sulfur dioxide total sulfur dioxide density pH \\\n", - "quality \n", - "3 0.206 31 40 0.00609 0.47 \n", - "4 0.565 38 112 0.00760 1.16 \n", - "5 0.572 65 149 0.01059 0.86 \n", - "6 0.381 71 159 0.01362 1.15 \n", - "7 0.346 51 282 0.01256 0.86 \n", - "8 0.042 39 76 0.00800 0.84 \n", - "\n", - " sulphates alcohol \n", - "quality \n", - "3 0.46 2.6 \n", - "4 1.67 4.1 \n", - "5 1.61 6.4 \n", - "6 1.55 5.6 \n", - "7 0.97 4.8 \n", - "8 0.47 4.2 " - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# We can also pass string methods through aggregate\n", - "wino.agg('mean')" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcohol
quality
3 8.360000 0.884500 0.171000 2.635000 0.122500 11.000000 24.900000 0.997464 3.398000 0.570000 9.955000
4 7.779245 0.693962 0.174151 2.694340 0.090679 12.264151 36.245283 0.996542 3.381509 0.596415 10.265094
5 8.167254 0.577041 0.243686 2.528855 0.092736 16.983847 56.513950 0.997104 3.304949 0.620969 9.899706
6 8.347179 0.497484 0.273824 2.477194 0.084956 15.711599 40.869906 0.996615 3.318072 0.675329 10.629519
7 8.872362 0.403920 0.375176 2.720603 0.076588 14.045226 35.020101 0.996104 3.290754 0.741256 11.465913
8 8.566667 0.423333 0.391111 2.577778 0.068444 13.277778 33.444444 0.995212 3.267222 0.767778 12.094444
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 26, - "text": [ - " fixed acidity volatile acidity citric acid residual sugar \\\n", - "quality \n", - "3 8.360000 0.884500 0.171000 2.635000 \n", - "4 7.779245 0.693962 0.174151 2.694340 \n", - "5 8.167254 0.577041 0.243686 2.528855 \n", - "6 8.347179 0.497484 0.273824 2.477194 \n", - "7 8.872362 0.403920 0.375176 2.720603 \n", - "8 8.566667 0.423333 0.391111 2.577778 \n", - "\n", - " chlorides free sulfur dioxide total sulfur dioxide density \\\n", - "quality \n", - "3 0.122500 11.000000 24.900000 0.997464 \n", - "4 0.090679 12.264151 36.245283 0.996542 \n", - "5 0.092736 16.983847 56.513950 0.997104 \n", - "6 0.084956 15.711599 40.869906 0.996615 \n", - "7 0.076588 14.045226 35.020101 0.996104 \n", - "8 0.068444 13.277778 33.444444 0.995212 \n", - "\n", - " pH sulphates alcohol \n", - "quality \n", - "3 3.398000 0.570000 9.955000 \n", - "4 3.381509 0.596415 10.265094 \n", - "5 3.304949 0.620969 9.899706 \n", - "6 3.318072 0.675329 10.629519 \n", - "7 3.290754 0.741256 11.465913 \n", - "8 3.267222 0.767778 12.094444 " - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Let's go back to the original dframe\n", - "dframe_wine.head()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
0 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 27, - "text": [ - " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", - "0 7.4 0.70 0.00 1.9 0.076 \n", - "1 7.8 0.88 0.00 2.6 0.098 \n", - "2 7.8 0.76 0.04 2.3 0.092 \n", - "3 11.2 0.28 0.56 1.9 0.075 \n", - "4 7.4 0.70 0.00 1.9 0.076 \n", - "\n", - " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", - "0 11 34 0.9978 3.51 0.56 \n", - "1 25 67 0.9968 3.20 0.68 \n", - "2 15 54 0.9970 3.26 0.65 \n", - "3 17 60 0.9980 3.16 0.58 \n", - "4 11 34 0.9978 3.51 0.56 \n", - "\n", - " alcohol quality \n", - "0 9.4 5 \n", - "1 9.8 5 \n", - "2 9.8 5 \n", - "3 9.8 6 \n", - "4 9.4 5 " - ] - } - ], - "prompt_number": 27 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Let's adda quality to alcohol content ratio\n", - "dframe_wine['qual/alc ratio'] = dframe_wine['quality']/dframe_wine['alcohol']" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 28 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Show\n", - "dframe_wine.head()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholqualityqual/alc ratio
0 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5 0.531915
1 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5 0.510204
2 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5 0.510204
3 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6 0.612245
4 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5 0.531915
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 29, - "text": [ - " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", - "0 7.4 0.70 0.00 1.9 0.076 \n", - "1 7.8 0.88 0.00 2.6 0.098 \n", - "2 7.8 0.76 0.04 2.3 0.092 \n", - "3 11.2 0.28 0.56 1.9 0.075 \n", - "4 7.4 0.70 0.00 1.9 0.076 \n", - "\n", - " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", - "0 11 34 0.9978 3.51 0.56 \n", - "1 25 67 0.9968 3.20 0.68 \n", - "2 15 54 0.9970 3.26 0.65 \n", - "3 17 60 0.9980 3.16 0.58 \n", - "4 11 34 0.9978 3.51 0.56 \n", - "\n", - " alcohol quality qual/alc ratio \n", - "0 9.4 5 0.531915 \n", - "1 9.8 5 0.510204 \n", - "2 9.8 5 0.510204 \n", - "3 9.8 6 0.612245 \n", - "4 9.4 5 0.531915 " - ] - } - ], - "prompt_number": 29 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# WE can also use pivot tables instead of groupby\n", - "\n", - "# Pivot table of quality\n", - "dframe_wine.pivot_table(index=['quality'])" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
alcoholchloridescitric aciddensityfixed acidityfree sulfur dioxidepHqual/alc ratioresidual sugarsulphatestotal sulfur dioxidevolatile acidity
quality
3 9.955000 0.122500 0.171000 0.997464 8.360000 11.000000 3.398000 0.303286 2.635000 0.570000 24.900000 0.884500
4 10.265094 0.090679 0.174151 0.996542 7.779245 12.264151 3.381509 0.392724 2.694340 0.596415 36.245283 0.693962
5 9.899706 0.092736 0.243686 0.997104 8.167254 16.983847 3.304949 0.507573 2.528855 0.620969 56.513950 0.577041
6 10.629519 0.084956 0.273824 0.996615 8.347179 15.711599 3.318072 0.569801 2.477194 0.675329 40.869906 0.497484
7 11.465913 0.076588 0.375176 0.996104 8.872362 14.045226 3.290754 0.614855 2.720603 0.741256 35.020101 0.403920
8 12.094444 0.068444 0.391111 0.995212 8.566667 13.277778 3.267222 0.668146 2.577778 0.767778 33.444444 0.423333
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 32, - "text": [ - " alcohol chlorides citric acid density fixed acidity \\\n", - "quality \n", - "3 9.955000 0.122500 0.171000 0.997464 8.360000 \n", - "4 10.265094 0.090679 0.174151 0.996542 7.779245 \n", - "5 9.899706 0.092736 0.243686 0.997104 8.167254 \n", - "6 10.629519 0.084956 0.273824 0.996615 8.347179 \n", - "7 11.465913 0.076588 0.375176 0.996104 8.872362 \n", - "8 12.094444 0.068444 0.391111 0.995212 8.566667 \n", - "\n", - " free sulfur dioxide pH qual/alc ratio residual sugar \\\n", - "quality \n", - "3 11.000000 3.398000 0.303286 2.635000 \n", - "4 12.264151 3.381509 0.392724 2.694340 \n", - "5 16.983847 3.304949 0.507573 2.528855 \n", - "6 15.711599 3.318072 0.569801 2.477194 \n", - "7 14.045226 3.290754 0.614855 2.720603 \n", - "8 13.277778 3.267222 0.668146 2.577778 \n", - "\n", - " sulphates total sulfur dioxide volatile acidity \n", - "quality \n", - "3 0.570000 24.900000 0.884500 \n", - "4 0.596415 36.245283 0.693962 \n", - "5 0.620969 56.513950 0.577041 \n", - "6 0.675329 40.869906 0.497484 \n", - "7 0.741256 35.020101 0.403920 \n", - "8 0.767778 33.444444 0.423333 " - ] - } - ], - "prompt_number": 32 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%matplotlib inline\n", - "dframe_wine.plot(kind='scatter',x='quality',y='alcohol')" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 38, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 38 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that the data is probably better fit for a box plot for a more concise view of the data\n", - "See if you can figure how to get a boxplot using the pandas documentation and what you have learned so far\n", - "\n", - "Don't worry if you can't quite figure it out just yet, the next section will cover all sorts of data visualizations!" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [] - } - ], - "metadata": {} - } - ] -} \ No newline at end of file +{ + + "metadata": { + + "name": "", + + "signature": "sha256:e15f796c810b6782ee8033e188d97395fb0602eeee010c7ad5f94bec363fe48c" + + }, + + "nbformat": 3, + + "nbformat_minor": 0, + + "worksheets": [ + + { + + "cells": [ + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "import numpy as np\n", + + "import pandas as pd\n", + + "from pandas import Series,DataFrame" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [], + + "prompt_number": 1 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# Data Agrregation consists of operations that result in a scalar (e.g. mean(),sum(),count(), etc)\n", + + "\n", + + "#Let's get a csv data set to play with\n", + + "url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/'\n", + + "\n", + + "\n", + + "# Save thewinquality.csv file in the same folder as your ipython notebooks, note the delimiter used ;\n", + + "dframe_wine = pd.read_csv('winequality_red.csv',sep=';')" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [], + + "prompt_number": 6 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# Let's get a preview\n", + + "dframe_wine.head()" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
0 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 7, + + "text": [ + + " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", + + "0 7.4 0.70 0.00 1.9 0.076 \n", + + "1 7.8 0.88 0.00 2.6 0.098 \n", + + "2 7.8 0.76 0.04 2.3 0.092 \n", + + "3 11.2 0.28 0.56 1.9 0.075 \n", + + "4 7.4 0.70 0.00 1.9 0.076 \n", + + "\n", + + " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", + + "0 11 34 0.9978 3.51 0.56 \n", + + "1 25 67 0.9968 3.20 0.68 \n", + + "2 15 54 0.9970 3.26 0.65 \n", + + "3 17 60 0.9980 3.16 0.58 \n", + + "4 11 34 0.9978 3.51 0.56 \n", + + "\n", + + " alcohol quality \n", + + "0 9.4 5 \n", + + "1 9.8 5 \n", + + "2 9.8 5 \n", + + "3 9.8 6 \n", + + "4 9.4 5 " + + ] + + } + + ], + + "prompt_number": 7 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# How about we find out the average alcohol content for the wine\n", + + "dframe_wine['alcohol'].mean()" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 8, + + "text": [ + + "10.422983114446529" + + ] + + } + + ], + + "prompt_number": 8 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# That was an example of an aggregate, how about we make our own?\n", + + "def max_to_min(arr):\n", + + " return arr.max() - arr.min()\n", + + "\n", + + "# Let's group the wines by \"quality\"\n", + + "wino = dframe_wine.groupby('quality')\n", + + "\n", + + "# Show\n", + + "wino.describe()" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + " \n", + + "
alcoholchloridescitric aciddensityfixed acidityfree sulfur dioxidepHresidual sugarsulphatestotal sulfur dioxidevolatile acidity
quality
3count 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000
mean 9.955000 0.122500 0.171000 0.997464 8.360000 11.000000 3.398000 2.635000 0.570000 24.900000 0.884500
std 0.818009 0.066241 0.250664 0.002002 1.770875 9.763879 0.144052 1.401596 0.122020 16.828877 0.331256
min 8.400000 0.061000 0.000000 0.994710 6.700000 3.000000 3.160000 1.200000 0.400000 9.000000 0.440000
25% 9.725000 0.079000 0.005000 0.996150 7.150000 5.000000 3.312500 1.875000 0.512500 12.500000 0.647500
50% 9.925000 0.090500 0.035000 0.997565 7.500000 6.000000 3.390000 2.100000 0.545000 15.000000 0.845000
75% 10.575000 0.143000 0.327500 0.998770 9.875000 14.500000 3.495000 3.100000 0.615000 42.500000 1.010000
max 11.000000 0.267000 0.660000 1.000800 11.600000 34.000000 3.630000 5.700000 0.860000 49.000000 1.580000
4count 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000 53.000000
mean 10.265094 0.090679 0.174151 0.996542 7.779245 12.264151 3.381509 2.694340 0.596415 36.245283 0.693962
std 0.934776 0.076192 0.201030 0.001575 1.626624 9.025926 0.181441 1.789436 0.239391 27.583374 0.220110
min 9.000000 0.045000 0.000000 0.993400 4.600000 3.000000 2.740000 1.300000 0.330000 7.000000 0.230000
25% 9.600000 0.067000 0.030000 0.995650 6.800000 6.000000 3.300000 1.900000 0.490000 14.000000 0.530000
50% 10.000000 0.080000 0.090000 0.996500 7.500000 11.000000 3.370000 2.100000 0.560000 26.000000 0.670000
75% 11.000000 0.089000 0.270000 0.997450 8.400000 15.000000 3.500000 2.800000 0.600000 49.000000 0.870000
max 13.100000 0.610000 1.000000 1.001000 12.500000 41.000000 3.900000 12.900000 2.000000 119.000000 1.130000
5count 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000 681.000000
mean 9.899706 0.092736 0.243686 0.997104 8.167254 16.983847 3.304949 2.528855 0.620969 56.513950 0.577041
std 0.736521 0.053707 0.180003 0.001589 1.563988 10.955446 0.150618 1.359753 0.171062 36.993116 0.164801
min 8.500000 0.039000 0.000000 0.992560 5.000000 3.000000 2.880000 1.200000 0.370000 6.000000 0.180000
25% 9.400000 0.074000 0.090000 0.996200 7.100000 9.000000 3.200000 1.900000 0.530000 26.000000 0.460000
50% 9.700000 0.081000 0.230000 0.997000 7.800000 15.000000 3.300000 2.200000 0.580000 47.000000 0.580000
75% 10.200000 0.094000 0.360000 0.997900 8.900000 23.000000 3.400000 2.600000 0.660000 84.000000 0.670000
max 14.900000 0.611000 0.790000 1.003150 15.900000 68.000000 3.740000 15.500000 1.980000 155.000000 1.330000
6count 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000 638.000000
mean 10.629519 0.084956 0.273824 0.996615 8.347179 15.711599 3.318072 2.477194 0.675329 40.869906 0.497484
std 1.049639 0.039563 0.195108 0.002000 1.797849 9.940911 0.153995 1.441576 0.158650 25.038250 0.160962
min 8.400000 0.034000 0.000000 0.990070 4.700000 1.000000 2.860000 0.900000 0.400000 6.000000 0.160000
25% 9.800000 0.068250 0.090000 0.995402 7.000000 8.000000 3.220000 1.900000 0.580000 23.000000 0.380000
50% 10.500000 0.078000 0.260000 0.996560 7.900000 14.000000 3.320000 2.200000 0.640000 35.000000 0.490000
75% 11.300000 0.088000 0.430000 0.997893 9.400000 21.000000 3.410000 2.500000 0.750000 54.000000 0.600000
max 14.000000 0.415000 0.780000 1.003690 14.300000 72.000000 4.010000 15.400000 1.950000 165.000000 1.040000
7count 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000 199.000000
mean 11.465913 0.076588 0.375176 0.996104 8.872362 14.045226 3.290754 2.720603 0.741256 35.020101 0.403920
std 0.961933 0.029456 0.194432 0.002176 1.992483 10.175255 0.150101 1.371509 0.135639 33.191206 0.145224
min 9.200000 0.012000 0.000000 0.990640 4.900000 3.000000 2.920000 1.200000 0.390000 7.000000 0.120000
25% 10.800000 0.062000 0.305000 0.994765 7.400000 6.000000 3.200000 2.000000 0.650000 17.500000 0.300000
50% 11.500000 0.073000 0.400000 0.995770 8.800000 11.000000 3.280000 2.300000 0.740000 27.000000 0.370000
75% 12.100000 0.087000 0.490000 0.997360 10.100000 18.000000 3.380000 2.750000 0.830000 43.000000 0.485000
max 14.000000 0.358000 0.760000 1.003200 15.600000 54.000000 3.780000 8.900000 1.360000 289.000000 0.915000
8count 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000 18.000000
mean 12.094444 0.068444 0.391111 0.995212 8.566667 13.277778 3.267222 2.577778 0.767778 33.444444 0.423333
std 1.224011 0.011678 0.199526 0.002378 2.119656 11.155613 0.200640 1.295038 0.115379 25.433240 0.144914
min 9.800000 0.044000 0.030000 0.990800 5.000000 3.000000 2.880000 1.400000 0.630000 12.000000 0.260000
25% 11.325000 0.062000 0.302500 0.994175 7.250000 6.000000 3.162500 1.800000 0.690000 16.000000 0.335000
50% 12.150000 0.070500 0.420000 0.994940 8.250000 7.500000 3.230000 2.100000 0.740000 21.500000 0.370000
75% 12.875000 0.075500 0.530000 0.997200 10.225000 16.500000 3.350000 2.600000 0.820000 43.000000 0.472500
max 14.000000 0.086000 0.720000 0.998800 12.600000 42.000000 3.720000 6.400000 1.100000 88.000000 0.850000
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 25, + + "text": [ + + " alcohol chlorides citric acid density fixed acidity \\\n", + + "quality \n", + + "3 count 10.000000 10.000000 10.000000 10.000000 10.000000 \n", + + " mean 9.955000 0.122500 0.171000 0.997464 8.360000 \n", + + " std 0.818009 0.066241 0.250664 0.002002 1.770875 \n", + + " min 8.400000 0.061000 0.000000 0.994710 6.700000 \n", + + " 25% 9.725000 0.079000 0.005000 0.996150 7.150000 \n", + + " 50% 9.925000 0.090500 0.035000 0.997565 7.500000 \n", + + " 75% 10.575000 0.143000 0.327500 0.998770 9.875000 \n", + + " max 11.000000 0.267000 0.660000 1.000800 11.600000 \n", + + "4 count 53.000000 53.000000 53.000000 53.000000 53.000000 \n", + + " mean 10.265094 0.090679 0.174151 0.996542 7.779245 \n", + + " std 0.934776 0.076192 0.201030 0.001575 1.626624 \n", + + " min 9.000000 0.045000 0.000000 0.993400 4.600000 \n", + + " 25% 9.600000 0.067000 0.030000 0.995650 6.800000 \n", + + " 50% 10.000000 0.080000 0.090000 0.996500 7.500000 \n", + + " 75% 11.000000 0.089000 0.270000 0.997450 8.400000 \n", + + " max 13.100000 0.610000 1.000000 1.001000 12.500000 \n", + + "5 count 681.000000 681.000000 681.000000 681.000000 681.000000 \n", + + " mean 9.899706 0.092736 0.243686 0.997104 8.167254 \n", + + " std 0.736521 0.053707 0.180003 0.001589 1.563988 \n", + + " min 8.500000 0.039000 0.000000 0.992560 5.000000 \n", + + " 25% 9.400000 0.074000 0.090000 0.996200 7.100000 \n", + + " 50% 9.700000 0.081000 0.230000 0.997000 7.800000 \n", + + " 75% 10.200000 0.094000 0.360000 0.997900 8.900000 \n", + + " max 14.900000 0.611000 0.790000 1.003150 15.900000 \n", + + "6 count 638.000000 638.000000 638.000000 638.000000 638.000000 \n", + + " mean 10.629519 0.084956 0.273824 0.996615 8.347179 \n", + + " std 1.049639 0.039563 0.195108 0.002000 1.797849 \n", + + " min 8.400000 0.034000 0.000000 0.990070 4.700000 \n", + + " 25% 9.800000 0.068250 0.090000 0.995402 7.000000 \n", + + " 50% 10.500000 0.078000 0.260000 0.996560 7.900000 \n", + + " 75% 11.300000 0.088000 0.430000 0.997893 9.400000 \n", + + " max 14.000000 0.415000 0.780000 1.003690 14.300000 \n", + + "7 count 199.000000 199.000000 199.000000 199.000000 199.000000 \n", + + " mean 11.465913 0.076588 0.375176 0.996104 8.872362 \n", + + " std 0.961933 0.029456 0.194432 0.002176 1.992483 \n", + + " min 9.200000 0.012000 0.000000 0.990640 4.900000 \n", + + " 25% 10.800000 0.062000 0.305000 0.994765 7.400000 \n", + + " 50% 11.500000 0.073000 0.400000 0.995770 8.800000 \n", + + " 75% 12.100000 0.087000 0.490000 0.997360 10.100000 \n", + + " max 14.000000 0.358000 0.760000 1.003200 15.600000 \n", + + "8 count 18.000000 18.000000 18.000000 18.000000 18.000000 \n", + + " mean 12.094444 0.068444 0.391111 0.995212 8.566667 \n", + + " std 1.224011 0.011678 0.199526 0.002378 2.119656 \n", + + " min 9.800000 0.044000 0.030000 0.990800 5.000000 \n", + + " 25% 11.325000 0.062000 0.302500 0.994175 7.250000 \n", + + " 50% 12.150000 0.070500 0.420000 0.994940 8.250000 \n", + + " 75% 12.875000 0.075500 0.530000 0.997200 10.225000 \n", + + " max 14.000000 0.086000 0.720000 0.998800 12.600000 \n", + + "\n", + + " free sulfur dioxide pH residual sugar sulphates \\\n", + + "quality \n", + + "3 count 10.000000 10.000000 10.000000 10.000000 \n", + + " mean 11.000000 3.398000 2.635000 0.570000 \n", + + " std 9.763879 0.144052 1.401596 0.122020 \n", + + " min 3.000000 3.160000 1.200000 0.400000 \n", + + " 25% 5.000000 3.312500 1.875000 0.512500 \n", + + " 50% 6.000000 3.390000 2.100000 0.545000 \n", + + " 75% 14.500000 3.495000 3.100000 0.615000 \n", + + " max 34.000000 3.630000 5.700000 0.860000 \n", + + "4 count 53.000000 53.000000 53.000000 53.000000 \n", + + " mean 12.264151 3.381509 2.694340 0.596415 \n", + + " std 9.025926 0.181441 1.789436 0.239391 \n", + + " min 3.000000 2.740000 1.300000 0.330000 \n", + + " 25% 6.000000 3.300000 1.900000 0.490000 \n", + + " 50% 11.000000 3.370000 2.100000 0.560000 \n", + + " 75% 15.000000 3.500000 2.800000 0.600000 \n", + + " max 41.000000 3.900000 12.900000 2.000000 \n", + + "5 count 681.000000 681.000000 681.000000 681.000000 \n", + + " mean 16.983847 3.304949 2.528855 0.620969 \n", + + " std 10.955446 0.150618 1.359753 0.171062 \n", + + " min 3.000000 2.880000 1.200000 0.370000 \n", + + " 25% 9.000000 3.200000 1.900000 0.530000 \n", + + " 50% 15.000000 3.300000 2.200000 0.580000 \n", + + " 75% 23.000000 3.400000 2.600000 0.660000 \n", + + " max 68.000000 3.740000 15.500000 1.980000 \n", + + "6 count 638.000000 638.000000 638.000000 638.000000 \n", + + " mean 15.711599 3.318072 2.477194 0.675329 \n", + + " std 9.940911 0.153995 1.441576 0.158650 \n", + + " min 1.000000 2.860000 0.900000 0.400000 \n", + + " 25% 8.000000 3.220000 1.900000 0.580000 \n", + + " 50% 14.000000 3.320000 2.200000 0.640000 \n", + + " 75% 21.000000 3.410000 2.500000 0.750000 \n", + + " max 72.000000 4.010000 15.400000 1.950000 \n", + + "7 count 199.000000 199.000000 199.000000 199.000000 \n", + + " mean 14.045226 3.290754 2.720603 0.741256 \n", + + " std 10.175255 0.150101 1.371509 0.135639 \n", + + " min 3.000000 2.920000 1.200000 0.390000 \n", + + " 25% 6.000000 3.200000 2.000000 0.650000 \n", + + " 50% 11.000000 3.280000 2.300000 0.740000 \n", + + " 75% 18.000000 3.380000 2.750000 0.830000 \n", + + " max 54.000000 3.780000 8.900000 1.360000 \n", + + "8 count 18.000000 18.000000 18.000000 18.000000 \n", + + " mean 13.277778 3.267222 2.577778 0.767778 \n", + + " std 11.155613 0.200640 1.295038 0.115379 \n", + + " min 3.000000 2.880000 1.400000 0.630000 \n", + + " 25% 6.000000 3.162500 1.800000 0.690000 \n", + + " 50% 7.500000 3.230000 2.100000 0.740000 \n", + + " 75% 16.500000 3.350000 2.600000 0.820000 \n", + + " max 42.000000 3.720000 6.400000 1.100000 \n", + + "\n", + + " total sulfur dioxide volatile acidity \n", + + "quality \n", + + "3 count 10.000000 10.000000 \n", + + " mean 24.900000 0.884500 \n", + + " std 16.828877 0.331256 \n", + + " min 9.000000 0.440000 \n", + + " 25% 12.500000 0.647500 \n", + + " 50% 15.000000 0.845000 \n", + + " 75% 42.500000 1.010000 \n", + + " max 49.000000 1.580000 \n", + + "4 count 53.000000 53.000000 \n", + + " mean 36.245283 0.693962 \n", + + " std 27.583374 0.220110 \n", + + " min 7.000000 0.230000 \n", + + " 25% 14.000000 0.530000 \n", + + " 50% 26.000000 0.670000 \n", + + " 75% 49.000000 0.870000 \n", + + " max 119.000000 1.130000 \n", + + "5 count 681.000000 681.000000 \n", + + " mean 56.513950 0.577041 \n", + + " std 36.993116 0.164801 \n", + + " min 6.000000 0.180000 \n", + + " 25% 26.000000 0.460000 \n", + + " 50% 47.000000 0.580000 \n", + + " 75% 84.000000 0.670000 \n", + + " max 155.000000 1.330000 \n", + + "6 count 638.000000 638.000000 \n", + + " mean 40.869906 0.497484 \n", + + " std 25.038250 0.160962 \n", + + " min 6.000000 0.160000 \n", + + " 25% 23.000000 0.380000 \n", + + " 50% 35.000000 0.490000 \n", + + " 75% 54.000000 0.600000 \n", + + " max 165.000000 1.040000 \n", + + "7 count 199.000000 199.000000 \n", + + " mean 35.020101 0.403920 \n", + + " std 33.191206 0.145224 \n", + + " min 7.000000 0.120000 \n", + + " 25% 17.500000 0.300000 \n", + + " 50% 27.000000 0.370000 \n", + + " 75% 43.000000 0.485000 \n", + + " max 289.000000 0.915000 \n", + + "8 count 18.000000 18.000000 \n", + + " mean 33.444444 0.423333 \n", + + " std 25.433240 0.144914 \n", + + " min 12.000000 0.260000 \n", + + " 25% 16.000000 0.335000 \n", + + " 50% 21.500000 0.370000 \n", + + " 75% 43.000000 0.472500 \n", + + " max 88.000000 0.850000 " + + ] + + } + + ], + + "prompt_number": 25 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# We can now apply our own aggregate function, this function takes the max value of the col and subtracts the min value of the col\n", + + "wino.agg(max_to_min)" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcohol
quality
3 4.9 1.140 0.66 4.5 0.206 31 40 0.00609 0.47 0.46 2.6
4 7.9 0.900 1.00 11.6 0.565 38 112 0.00760 1.16 1.67 4.1
5 10.9 1.150 0.79 14.3 0.572 65 149 0.01059 0.86 1.61 6.4
6 9.6 0.880 0.78 14.5 0.381 71 159 0.01362 1.15 1.55 5.6
7 10.7 0.795 0.76 7.7 0.346 51 282 0.01256 0.86 0.97 4.8
8 7.6 0.590 0.69 5.0 0.042 39 76 0.00800 0.84 0.47 4.2
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 22, + + "text": [ + + " fixed acidity volatile acidity citric acid residual sugar \\\n", + + "quality \n", + + "3 4.9 1.140 0.66 4.5 \n", + + "4 7.9 0.900 1.00 11.6 \n", + + "5 10.9 1.150 0.79 14.3 \n", + + "6 9.6 0.880 0.78 14.5 \n", + + "7 10.7 0.795 0.76 7.7 \n", + + "8 7.6 0.590 0.69 5.0 \n", + + "\n", + + " chlorides free sulfur dioxide total sulfur dioxide density pH \\\n", + + "quality \n", + + "3 0.206 31 40 0.00609 0.47 \n", + + "4 0.565 38 112 0.00760 1.16 \n", + + "5 0.572 65 149 0.01059 0.86 \n", + + "6 0.381 71 159 0.01362 1.15 \n", + + "7 0.346 51 282 0.01256 0.86 \n", + + "8 0.042 39 76 0.00800 0.84 \n", + + "\n", + + " sulphates alcohol \n", + + "quality \n", + + "3 0.46 2.6 \n", + + "4 1.67 4.1 \n", + + "5 1.61 6.4 \n", + + "6 1.55 5.6 \n", + + "7 0.97 4.8 \n", + + "8 0.47 4.2 " + + ] + + } + + ], + + "prompt_number": 22 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# We can also pass string methods through aggregate\n", + + "wino.agg('mean')" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcohol
quality
3 8.360000 0.884500 0.171000 2.635000 0.122500 11.000000 24.900000 0.997464 3.398000 0.570000 9.955000
4 7.779245 0.693962 0.174151 2.694340 0.090679 12.264151 36.245283 0.996542 3.381509 0.596415 10.265094
5 8.167254 0.577041 0.243686 2.528855 0.092736 16.983847 56.513950 0.997104 3.304949 0.620969 9.899706
6 8.347179 0.497484 0.273824 2.477194 0.084956 15.711599 40.869906 0.996615 3.318072 0.675329 10.629519
7 8.872362 0.403920 0.375176 2.720603 0.076588 14.045226 35.020101 0.996104 3.290754 0.741256 11.465913
8 8.566667 0.423333 0.391111 2.577778 0.068444 13.277778 33.444444 0.995212 3.267222 0.767778 12.094444
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 26, + + "text": [ + + " fixed acidity volatile acidity citric acid residual sugar \\\n", + + "quality \n", + + "3 8.360000 0.884500 0.171000 2.635000 \n", + + "4 7.779245 0.693962 0.174151 2.694340 \n", + + "5 8.167254 0.577041 0.243686 2.528855 \n", + + "6 8.347179 0.497484 0.273824 2.477194 \n", + + "7 8.872362 0.403920 0.375176 2.720603 \n", + + "8 8.566667 0.423333 0.391111 2.577778 \n", + + "\n", + + " chlorides free sulfur dioxide total sulfur dioxide density \\\n", + + "quality \n", + + "3 0.122500 11.000000 24.900000 0.997464 \n", + + "4 0.090679 12.264151 36.245283 0.996542 \n", + + "5 0.092736 16.983847 56.513950 0.997104 \n", + + "6 0.084956 15.711599 40.869906 0.996615 \n", + + "7 0.076588 14.045226 35.020101 0.996104 \n", + + "8 0.068444 13.277778 33.444444 0.995212 \n", + + "\n", + + " pH sulphates alcohol \n", + + "quality \n", + + "3 3.398000 0.570000 9.955000 \n", + + "4 3.381509 0.596415 10.265094 \n", + + "5 3.304949 0.620969 9.899706 \n", + + "6 3.318072 0.675329 10.629519 \n", + + "7 3.290754 0.741256 11.465913 \n", + + "8 3.267222 0.767778 12.094444 " + + ] + + } + + ], + + "prompt_number": 26 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# Let's go back to the original dframe\n", + + "dframe_wine.head()" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
0 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 27, + + "text": [ + + " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", + + "0 7.4 0.70 0.00 1.9 0.076 \n", + + "1 7.8 0.88 0.00 2.6 0.098 \n", + + "2 7.8 0.76 0.04 2.3 0.092 \n", + + "3 11.2 0.28 0.56 1.9 0.075 \n", + + "4 7.4 0.70 0.00 1.9 0.076 \n", + + "\n", + + " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", + + "0 11 34 0.9978 3.51 0.56 \n", + + "1 25 67 0.9968 3.20 0.68 \n", + + "2 15 54 0.9970 3.26 0.65 \n", + + "3 17 60 0.9980 3.16 0.58 \n", + + "4 11 34 0.9978 3.51 0.56 \n", + + "\n", + + " alcohol quality \n", + + "0 9.4 5 \n", + + "1 9.8 5 \n", + + "2 9.8 5 \n", + + "3 9.8 6 \n", + + "4 9.4 5 " + + ] + + } + + ], + + "prompt_number": 27 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# Let's add a quality to alcohol content ratio\n", + + "dframe_wine['qual/alc ratio'] = dframe_wine['quality']/dframe_wine['alcohol']" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [], + + "prompt_number": 28 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# Show\n", + + "dframe_wine.head()" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholqualityqual/alc ratio
0 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5 0.531915
1 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5 0.510204
2 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5 0.510204
3 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6 0.612245
4 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5 0.531915
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 29, + + "text": [ + + " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", + + "0 7.4 0.70 0.00 1.9 0.076 \n", + + "1 7.8 0.88 0.00 2.6 0.098 \n", + + "2 7.8 0.76 0.04 2.3 0.092 \n", + + "3 11.2 0.28 0.56 1.9 0.075 \n", + + "4 7.4 0.70 0.00 1.9 0.076 \n", + + "\n", + + " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", + + "0 11 34 0.9978 3.51 0.56 \n", + + "1 25 67 0.9968 3.20 0.68 \n", + + "2 15 54 0.9970 3.26 0.65 \n", + + "3 17 60 0.9980 3.16 0.58 \n", + + "4 11 34 0.9978 3.51 0.56 \n", + + "\n", + + " alcohol quality qual/alc ratio \n", + + "0 9.4 5 0.531915 \n", + + "1 9.8 5 0.510204 \n", + + "2 9.8 5 0.510204 \n", + + "3 9.8 6 0.612245 \n", + + "4 9.4 5 0.531915 " + + ] + + } + + ], + + "prompt_number": 29 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "# We can also use pivot tables instead of groupby\n", + + "\n", + + "# Pivot table of quality\n", + + "dframe_wine.pivot_table(index=['quality'])" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "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", + + "
alcoholchloridescitric aciddensityfixed acidityfree sulfur dioxidepHqual/alc ratioresidual sugarsulphatestotal sulfur dioxidevolatile acidity
quality
3 9.955000 0.122500 0.171000 0.997464 8.360000 11.000000 3.398000 0.303286 2.635000 0.570000 24.900000 0.884500
4 10.265094 0.090679 0.174151 0.996542 7.779245 12.264151 3.381509 0.392724 2.694340 0.596415 36.245283 0.693962
5 9.899706 0.092736 0.243686 0.997104 8.167254 16.983847 3.304949 0.507573 2.528855 0.620969 56.513950 0.577041
6 10.629519 0.084956 0.273824 0.996615 8.347179 15.711599 3.318072 0.569801 2.477194 0.675329 40.869906 0.497484
7 11.465913 0.076588 0.375176 0.996104 8.872362 14.045226 3.290754 0.614855 2.720603 0.741256 35.020101 0.403920
8 12.094444 0.068444 0.391111 0.995212 8.566667 13.277778 3.267222 0.668146 2.577778 0.767778 33.444444 0.423333
\n", + + "
" + + ], + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 32, + + "text": [ + + " alcohol chlorides citric acid density fixed acidity \\\n", + + "quality \n", + + "3 9.955000 0.122500 0.171000 0.997464 8.360000 \n", + + "4 10.265094 0.090679 0.174151 0.996542 7.779245 \n", + + "5 9.899706 0.092736 0.243686 0.997104 8.167254 \n", + + "6 10.629519 0.084956 0.273824 0.996615 8.347179 \n", + + "7 11.465913 0.076588 0.375176 0.996104 8.872362 \n", + + "8 12.094444 0.068444 0.391111 0.995212 8.566667 \n", + + "\n", + + " free sulfur dioxide pH qual/alc ratio residual sugar \\\n", + + "quality \n", + + "3 11.000000 3.398000 0.303286 2.635000 \n", + + "4 12.264151 3.381509 0.392724 2.694340 \n", + + "5 16.983847 3.304949 0.507573 2.528855 \n", + + "6 15.711599 3.318072 0.569801 2.477194 \n", + + "7 14.045226 3.290754 0.614855 2.720603 \n", + + "8 13.277778 3.267222 0.668146 2.577778 \n", + + "\n", + + " sulphates total sulfur dioxide volatile acidity \n", + + "quality \n", + + "3 0.570000 24.900000 0.884500 \n", + + "4 0.596415 36.245283 0.693962 \n", + + "5 0.620969 56.513950 0.577041 \n", + + "6 0.675329 40.869906 0.497484 \n", + + "7 0.741256 35.020101 0.403920 \n", + + "8 0.767778 33.444444 0.423333 " + + ] + + } + + ], + + "prompt_number": 32 + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [ + + "%matplotlib inline\n", + + "dframe_wine.plot(kind='scatter',x='quality',y='alcohol')" + + ], + + "language": "python", + + "metadata": {}, + + "outputs": [ + + { + + "metadata": {}, + + "output_type": "pyout", + + "prompt_number": 38, + + "text": [ + + "" + + ] + + }, + + { + + "metadata": {}, + + "output_type": "display_data", + + "png": "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\n", + + "text": [ + + "" + + ] + + } + + ], + + "prompt_number": 38 + + }, + + { + + "cell_type": "markdown", + + "metadata": {}, + + "source": [ + + "We can see that the data is probably better fit for a box plot for a more concise view of the data\n", + + "See if you can figure out how to get a boxplot using the pandas documentation and what you have learned so far\n", + + "\n", + + "Don't worry if you can't quite figure it out just yet, the next section will cover all sorts of data visualizations!" + + ] + + }, + + { + + "cell_type": "code", + + "collapsed": false, + + "input": [], + + "language": "python", + + "metadata": {}, + + "outputs": [] + + } + + ], + + "metadata": {} + + } + + ] + +}