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",
- " fixed acidity | \n",
- " volatile acidity | \n",
- " citric acid | \n",
- " residual sugar | \n",
- " chlorides | \n",
- " free sulfur dioxide | \n",
- " total sulfur dioxide | \n",
- " density | \n",
- " pH | \n",
- " sulphates | \n",
- " alcohol | \n",
- " quality | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " 7.4 | \n",
- " 0.70 | \n",
- " 0.00 | \n",
- " 1.9 | \n",
- " 0.076 | \n",
- " 11 | \n",
- " 34 | \n",
- " 0.9978 | \n",
- " 3.51 | \n",
- " 0.56 | \n",
- " 9.4 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " 7.8 | \n",
- " 0.88 | \n",
- " 0.00 | \n",
- " 2.6 | \n",
- " 0.098 | \n",
- " 25 | \n",
- " 67 | \n",
- " 0.9968 | \n",
- " 3.20 | \n",
- " 0.68 | \n",
- " 9.8 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " 7.8 | \n",
- " 0.76 | \n",
- " 0.04 | \n",
- " 2.3 | \n",
- " 0.092 | \n",
- " 15 | \n",
- " 54 | \n",
- " 0.9970 | \n",
- " 3.26 | \n",
- " 0.65 | \n",
- " 9.8 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " 11.2 | \n",
- " 0.28 | \n",
- " 0.56 | \n",
- " 1.9 | \n",
- " 0.075 | \n",
- " 17 | \n",
- " 60 | \n",
- " 0.9980 | \n",
- " 3.16 | \n",
- " 0.58 | \n",
- " 9.8 | \n",
- " 6 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 7.4 | \n",
- " 0.70 | \n",
- " 0.00 | \n",
- " 1.9 | \n",
- " 0.076 | \n",
- " 11 | \n",
- " 34 | \n",
- " 0.9978 | \n",
- " 3.51 | \n",
- " 0.56 | \n",
- " 9.4 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- "
\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",
- " alcohol | \n",
- " chlorides | \n",
- " citric acid | \n",
- " density | \n",
- " fixed acidity | \n",
- " free sulfur dioxide | \n",
- " pH | \n",
- " residual sugar | \n",
- " sulphates | \n",
- " total sulfur dioxide | \n",
- " volatile acidity | \n",
- "
\n",
- " \n",
- " | quality | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 3 | \n",
- " count | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- " 10.000000 | \n",
- "
\n",
- " \n",
- " | mean | \n",
- " 9.955000 | \n",
- " 0.122500 | \n",
- " 0.171000 | \n",
- " 0.997464 | \n",
- " 8.360000 | \n",
- " 11.000000 | \n",
- " 3.398000 | \n",
- " 2.635000 | \n",
- " 0.570000 | \n",
- " 24.900000 | \n",
- " 0.884500 | \n",
- "
\n",
- " \n",
- " | std | \n",
- " 0.818009 | \n",
- " 0.066241 | \n",
- " 0.250664 | \n",
- " 0.002002 | \n",
- " 1.770875 | \n",
- " 9.763879 | \n",
- " 0.144052 | \n",
- " 1.401596 | \n",
- " 0.122020 | \n",
- " 16.828877 | \n",
- " 0.331256 | \n",
- "
\n",
- " \n",
- " | min | \n",
- " 8.400000 | \n",
- " 0.061000 | \n",
- " 0.000000 | \n",
- " 0.994710 | \n",
- " 6.700000 | \n",
- " 3.000000 | \n",
- " 3.160000 | \n",
- " 1.200000 | \n",
- " 0.400000 | \n",
- " 9.000000 | \n",
- " 0.440000 | \n",
- "
\n",
- " \n",
- " | 25% | \n",
- " 9.725000 | \n",
- " 0.079000 | \n",
- " 0.005000 | \n",
- " 0.996150 | \n",
- " 7.150000 | \n",
- " 5.000000 | \n",
- " 3.312500 | \n",
- " 1.875000 | \n",
- " 0.512500 | \n",
- " 12.500000 | \n",
- " 0.647500 | \n",
- "
\n",
- " \n",
- " | 50% | \n",
- " 9.925000 | \n",
- " 0.090500 | \n",
- " 0.035000 | \n",
- " 0.997565 | \n",
- " 7.500000 | \n",
- " 6.000000 | \n",
- " 3.390000 | \n",
- " 2.100000 | \n",
- " 0.545000 | \n",
- " 15.000000 | \n",
- " 0.845000 | \n",
- "
\n",
- " \n",
- " | 75% | \n",
- " 10.575000 | \n",
- " 0.143000 | \n",
- " 0.327500 | \n",
- " 0.998770 | \n",
- " 9.875000 | \n",
- " 14.500000 | \n",
- " 3.495000 | \n",
- " 3.100000 | \n",
- " 0.615000 | \n",
- " 42.500000 | \n",
- " 1.010000 | \n",
- "
\n",
- " \n",
- " | max | \n",
- " 11.000000 | \n",
- " 0.267000 | \n",
- " 0.660000 | \n",
- " 1.000800 | \n",
- " 11.600000 | \n",
- " 34.000000 | \n",
- " 3.630000 | \n",
- " 5.700000 | \n",
- " 0.860000 | \n",
- " 49.000000 | \n",
- " 1.580000 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " count | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- " 53.000000 | \n",
- "
\n",
- " \n",
- " | mean | \n",
- " 10.265094 | \n",
- " 0.090679 | \n",
- " 0.174151 | \n",
- " 0.996542 | \n",
- " 7.779245 | \n",
- " 12.264151 | \n",
- " 3.381509 | \n",
- " 2.694340 | \n",
- " 0.596415 | \n",
- " 36.245283 | \n",
- " 0.693962 | \n",
- "
\n",
- " \n",
- " | std | \n",
- " 0.934776 | \n",
- " 0.076192 | \n",
- " 0.201030 | \n",
- " 0.001575 | \n",
- " 1.626624 | \n",
- " 9.025926 | \n",
- " 0.181441 | \n",
- " 1.789436 | \n",
- " 0.239391 | \n",
- " 27.583374 | \n",
- " 0.220110 | \n",
- "
\n",
- " \n",
- " | min | \n",
- " 9.000000 | \n",
- " 0.045000 | \n",
- " 0.000000 | \n",
- " 0.993400 | \n",
- " 4.600000 | \n",
- " 3.000000 | \n",
- " 2.740000 | \n",
- " 1.300000 | \n",
- " 0.330000 | \n",
- " 7.000000 | \n",
- " 0.230000 | \n",
- "
\n",
- " \n",
- " | 25% | \n",
- " 9.600000 | \n",
- " 0.067000 | \n",
- " 0.030000 | \n",
- " 0.995650 | \n",
- " 6.800000 | \n",
- " 6.000000 | \n",
- " 3.300000 | \n",
- " 1.900000 | \n",
- " 0.490000 | \n",
- " 14.000000 | \n",
- " 0.530000 | \n",
- "
\n",
- " \n",
- " | 50% | \n",
- " 10.000000 | \n",
- " 0.080000 | \n",
- " 0.090000 | \n",
- " 0.996500 | \n",
- " 7.500000 | \n",
- " 11.000000 | \n",
- " 3.370000 | \n",
- " 2.100000 | \n",
- " 0.560000 | \n",
- " 26.000000 | \n",
- " 0.670000 | \n",
- "
\n",
- " \n",
- " | 75% | \n",
- " 11.000000 | \n",
- " 0.089000 | \n",
- " 0.270000 | \n",
- " 0.997450 | \n",
- " 8.400000 | \n",
- " 15.000000 | \n",
- " 3.500000 | \n",
- " 2.800000 | \n",
- " 0.600000 | \n",
- " 49.000000 | \n",
- " 0.870000 | \n",
- "
\n",
- " \n",
- " | max | \n",
- " 13.100000 | \n",
- " 0.610000 | \n",
- " 1.000000 | \n",
- " 1.001000 | \n",
- " 12.500000 | \n",
- " 41.000000 | \n",
- " 3.900000 | \n",
- " 12.900000 | \n",
- " 2.000000 | \n",
- " 119.000000 | \n",
- " 1.130000 | \n",
- "
\n",
- " \n",
- " | 5 | \n",
- " count | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- " 681.000000 | \n",
- "
\n",
- " \n",
- " | mean | \n",
- " 9.899706 | \n",
- " 0.092736 | \n",
- " 0.243686 | \n",
- " 0.997104 | \n",
- " 8.167254 | \n",
- " 16.983847 | \n",
- " 3.304949 | \n",
- " 2.528855 | \n",
- " 0.620969 | \n",
- " 56.513950 | \n",
- " 0.577041 | \n",
- "
\n",
- " \n",
- " | std | \n",
- " 0.736521 | \n",
- " 0.053707 | \n",
- " 0.180003 | \n",
- " 0.001589 | \n",
- " 1.563988 | \n",
- " 10.955446 | \n",
- " 0.150618 | \n",
- " 1.359753 | \n",
- " 0.171062 | \n",
- " 36.993116 | \n",
- " 0.164801 | \n",
- "
\n",
- " \n",
- " | min | \n",
- " 8.500000 | \n",
- " 0.039000 | \n",
- " 0.000000 | \n",
- " 0.992560 | \n",
- " 5.000000 | \n",
- " 3.000000 | \n",
- " 2.880000 | \n",
- " 1.200000 | \n",
- " 0.370000 | \n",
- " 6.000000 | \n",
- " 0.180000 | \n",
- "
\n",
- " \n",
- " | 25% | \n",
- " 9.400000 | \n",
- " 0.074000 | \n",
- " 0.090000 | \n",
- " 0.996200 | \n",
- " 7.100000 | \n",
- " 9.000000 | \n",
- " 3.200000 | \n",
- " 1.900000 | \n",
- " 0.530000 | \n",
- " 26.000000 | \n",
- " 0.460000 | \n",
- "
\n",
- " \n",
- " | 50% | \n",
- " 9.700000 | \n",
- " 0.081000 | \n",
- " 0.230000 | \n",
- " 0.997000 | \n",
- " 7.800000 | \n",
- " 15.000000 | \n",
- " 3.300000 | \n",
- " 2.200000 | \n",
- " 0.580000 | \n",
- " 47.000000 | \n",
- " 0.580000 | \n",
- "
\n",
- " \n",
- " | 75% | \n",
- " 10.200000 | \n",
- " 0.094000 | \n",
- " 0.360000 | \n",
- " 0.997900 | \n",
- " 8.900000 | \n",
- " 23.000000 | \n",
- " 3.400000 | \n",
- " 2.600000 | \n",
- " 0.660000 | \n",
- " 84.000000 | \n",
- " 0.670000 | \n",
- "
\n",
- " \n",
- " | max | \n",
- " 14.900000 | \n",
- " 0.611000 | \n",
- " 0.790000 | \n",
- " 1.003150 | \n",
- " 15.900000 | \n",
- " 68.000000 | \n",
- " 3.740000 | \n",
- " 15.500000 | \n",
- " 1.980000 | \n",
- " 155.000000 | \n",
- " 1.330000 | \n",
- "
\n",
- " \n",
- " | 6 | \n",
- " count | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- " 638.000000 | \n",
- "
\n",
- " \n",
- " | mean | \n",
- " 10.629519 | \n",
- " 0.084956 | \n",
- " 0.273824 | \n",
- " 0.996615 | \n",
- " 8.347179 | \n",
- " 15.711599 | \n",
- " 3.318072 | \n",
- " 2.477194 | \n",
- " 0.675329 | \n",
- " 40.869906 | \n",
- " 0.497484 | \n",
- "
\n",
- " \n",
- " | std | \n",
- " 1.049639 | \n",
- " 0.039563 | \n",
- " 0.195108 | \n",
- " 0.002000 | \n",
- " 1.797849 | \n",
- " 9.940911 | \n",
- " 0.153995 | \n",
- " 1.441576 | \n",
- " 0.158650 | \n",
- " 25.038250 | \n",
- " 0.160962 | \n",
- "
\n",
- " \n",
- " | min | \n",
- " 8.400000 | \n",
- " 0.034000 | \n",
- " 0.000000 | \n",
- " 0.990070 | \n",
- " 4.700000 | \n",
- " 1.000000 | \n",
- " 2.860000 | \n",
- " 0.900000 | \n",
- " 0.400000 | \n",
- " 6.000000 | \n",
- " 0.160000 | \n",
- "
\n",
- " \n",
- " | 25% | \n",
- " 9.800000 | \n",
- " 0.068250 | \n",
- " 0.090000 | \n",
- " 0.995402 | \n",
- " 7.000000 | \n",
- " 8.000000 | \n",
- " 3.220000 | \n",
- " 1.900000 | \n",
- " 0.580000 | \n",
- " 23.000000 | \n",
- " 0.380000 | \n",
- "
\n",
- " \n",
- " | 50% | \n",
- " 10.500000 | \n",
- " 0.078000 | \n",
- " 0.260000 | \n",
- " 0.996560 | \n",
- " 7.900000 | \n",
- " 14.000000 | \n",
- " 3.320000 | \n",
- " 2.200000 | \n",
- " 0.640000 | \n",
- " 35.000000 | \n",
- " 0.490000 | \n",
- "
\n",
- " \n",
- " | 75% | \n",
- " 11.300000 | \n",
- " 0.088000 | \n",
- " 0.430000 | \n",
- " 0.997893 | \n",
- " 9.400000 | \n",
- " 21.000000 | \n",
- " 3.410000 | \n",
- " 2.500000 | \n",
- " 0.750000 | \n",
- " 54.000000 | \n",
- " 0.600000 | \n",
- "
\n",
- " \n",
- " | max | \n",
- " 14.000000 | \n",
- " 0.415000 | \n",
- " 0.780000 | \n",
- " 1.003690 | \n",
- " 14.300000 | \n",
- " 72.000000 | \n",
- " 4.010000 | \n",
- " 15.400000 | \n",
- " 1.950000 | \n",
- " 165.000000 | \n",
- " 1.040000 | \n",
- "
\n",
- " \n",
- " | 7 | \n",
- " count | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- " 199.000000 | \n",
- "
\n",
- " \n",
- " | mean | \n",
- " 11.465913 | \n",
- " 0.076588 | \n",
- " 0.375176 | \n",
- " 0.996104 | \n",
- " 8.872362 | \n",
- " 14.045226 | \n",
- " 3.290754 | \n",
- " 2.720603 | \n",
- " 0.741256 | \n",
- " 35.020101 | \n",
- " 0.403920 | \n",
- "
\n",
- " \n",
- " | std | \n",
- " 0.961933 | \n",
- " 0.029456 | \n",
- " 0.194432 | \n",
- " 0.002176 | \n",
- " 1.992483 | \n",
- " 10.175255 | \n",
- " 0.150101 | \n",
- " 1.371509 | \n",
- " 0.135639 | \n",
- " 33.191206 | \n",
- " 0.145224 | \n",
- "
\n",
- " \n",
- " | min | \n",
- " 9.200000 | \n",
- " 0.012000 | \n",
- " 0.000000 | \n",
- " 0.990640 | \n",
- " 4.900000 | \n",
- " 3.000000 | \n",
- " 2.920000 | \n",
- " 1.200000 | \n",
- " 0.390000 | \n",
- " 7.000000 | \n",
- " 0.120000 | \n",
- "
\n",
- " \n",
- " | 25% | \n",
- " 10.800000 | \n",
- " 0.062000 | \n",
- " 0.305000 | \n",
- " 0.994765 | \n",
- " 7.400000 | \n",
- " 6.000000 | \n",
- " 3.200000 | \n",
- " 2.000000 | \n",
- " 0.650000 | \n",
- " 17.500000 | \n",
- " 0.300000 | \n",
- "
\n",
- " \n",
- " | 50% | \n",
- " 11.500000 | \n",
- " 0.073000 | \n",
- " 0.400000 | \n",
- " 0.995770 | \n",
- " 8.800000 | \n",
- " 11.000000 | \n",
- " 3.280000 | \n",
- " 2.300000 | \n",
- " 0.740000 | \n",
- " 27.000000 | \n",
- " 0.370000 | \n",
- "
\n",
- " \n",
- " | 75% | \n",
- " 12.100000 | \n",
- " 0.087000 | \n",
- " 0.490000 | \n",
- " 0.997360 | \n",
- " 10.100000 | \n",
- " 18.000000 | \n",
- " 3.380000 | \n",
- " 2.750000 | \n",
- " 0.830000 | \n",
- " 43.000000 | \n",
- " 0.485000 | \n",
- "
\n",
- " \n",
- " | max | \n",
- " 14.000000 | \n",
- " 0.358000 | \n",
- " 0.760000 | \n",
- " 1.003200 | \n",
- " 15.600000 | \n",
- " 54.000000 | \n",
- " 3.780000 | \n",
- " 8.900000 | \n",
- " 1.360000 | \n",
- " 289.000000 | \n",
- " 0.915000 | \n",
- "
\n",
- " \n",
- " | 8 | \n",
- " count | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- " 18.000000 | \n",
- "
\n",
- " \n",
- " | mean | \n",
- " 12.094444 | \n",
- " 0.068444 | \n",
- " 0.391111 | \n",
- " 0.995212 | \n",
- " 8.566667 | \n",
- " 13.277778 | \n",
- " 3.267222 | \n",
- " 2.577778 | \n",
- " 0.767778 | \n",
- " 33.444444 | \n",
- " 0.423333 | \n",
- "
\n",
- " \n",
- " | std | \n",
- " 1.224011 | \n",
- " 0.011678 | \n",
- " 0.199526 | \n",
- " 0.002378 | \n",
- " 2.119656 | \n",
- " 11.155613 | \n",
- " 0.200640 | \n",
- " 1.295038 | \n",
- " 0.115379 | \n",
- " 25.433240 | \n",
- " 0.144914 | \n",
- "
\n",
- " \n",
- " | min | \n",
- " 9.800000 | \n",
- " 0.044000 | \n",
- " 0.030000 | \n",
- " 0.990800 | \n",
- " 5.000000 | \n",
- " 3.000000 | \n",
- " 2.880000 | \n",
- " 1.400000 | \n",
- " 0.630000 | \n",
- " 12.000000 | \n",
- " 0.260000 | \n",
- "
\n",
- " \n",
- " | 25% | \n",
- " 11.325000 | \n",
- " 0.062000 | \n",
- " 0.302500 | \n",
- " 0.994175 | \n",
- " 7.250000 | \n",
- " 6.000000 | \n",
- " 3.162500 | \n",
- " 1.800000 | \n",
- " 0.690000 | \n",
- " 16.000000 | \n",
- " 0.335000 | \n",
- "
\n",
- " \n",
- " | 50% | \n",
- " 12.150000 | \n",
- " 0.070500 | \n",
- " 0.420000 | \n",
- " 0.994940 | \n",
- " 8.250000 | \n",
- " 7.500000 | \n",
- " 3.230000 | \n",
- " 2.100000 | \n",
- " 0.740000 | \n",
- " 21.500000 | \n",
- " 0.370000 | \n",
- "
\n",
- " \n",
- " | 75% | \n",
- " 12.875000 | \n",
- " 0.075500 | \n",
- " 0.530000 | \n",
- " 0.997200 | \n",
- " 10.225000 | \n",
- " 16.500000 | \n",
- " 3.350000 | \n",
- " 2.600000 | \n",
- " 0.820000 | \n",
- " 43.000000 | \n",
- " 0.472500 | \n",
- "
\n",
- " \n",
- " | max | \n",
- " 14.000000 | \n",
- " 0.086000 | \n",
- " 0.720000 | \n",
- " 0.998800 | \n",
- " 12.600000 | \n",
- " 42.000000 | \n",
- " 3.720000 | \n",
- " 6.400000 | \n",
- " 1.100000 | \n",
- " 88.000000 | \n",
- " 0.850000 | \n",
- "
\n",
- " \n",
- "
\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",
- " fixed acidity | \n",
- " volatile acidity | \n",
- " citric acid | \n",
- " residual sugar | \n",
- " chlorides | \n",
- " free sulfur dioxide | \n",
- " total sulfur dioxide | \n",
- " density | \n",
- " pH | \n",
- " sulphates | \n",
- " alcohol | \n",
- "
\n",
- " \n",
- " | quality | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 3 | \n",
- " 4.9 | \n",
- " 1.140 | \n",
- " 0.66 | \n",
- " 4.5 | \n",
- " 0.206 | \n",
- " 31 | \n",
- " 40 | \n",
- " 0.00609 | \n",
- " 0.47 | \n",
- " 0.46 | \n",
- " 2.6 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 7.9 | \n",
- " 0.900 | \n",
- " 1.00 | \n",
- " 11.6 | \n",
- " 0.565 | \n",
- " 38 | \n",
- " 112 | \n",
- " 0.00760 | \n",
- " 1.16 | \n",
- " 1.67 | \n",
- " 4.1 | \n",
- "
\n",
- " \n",
- " | 5 | \n",
- " 10.9 | \n",
- " 1.150 | \n",
- " 0.79 | \n",
- " 14.3 | \n",
- " 0.572 | \n",
- " 65 | \n",
- " 149 | \n",
- " 0.01059 | \n",
- " 0.86 | \n",
- " 1.61 | \n",
- " 6.4 | \n",
- "
\n",
- " \n",
- " | 6 | \n",
- " 9.6 | \n",
- " 0.880 | \n",
- " 0.78 | \n",
- " 14.5 | \n",
- " 0.381 | \n",
- " 71 | \n",
- " 159 | \n",
- " 0.01362 | \n",
- " 1.15 | \n",
- " 1.55 | \n",
- " 5.6 | \n",
- "
\n",
- " \n",
- " | 7 | \n",
- " 10.7 | \n",
- " 0.795 | \n",
- " 0.76 | \n",
- " 7.7 | \n",
- " 0.346 | \n",
- " 51 | \n",
- " 282 | \n",
- " 0.01256 | \n",
- " 0.86 | \n",
- " 0.97 | \n",
- " 4.8 | \n",
- "
\n",
- " \n",
- " | 8 | \n",
- " 7.6 | \n",
- " 0.590 | \n",
- " 0.69 | \n",
- " 5.0 | \n",
- " 0.042 | \n",
- " 39 | \n",
- " 76 | \n",
- " 0.00800 | \n",
- " 0.84 | \n",
- " 0.47 | \n",
- " 4.2 | \n",
- "
\n",
- " \n",
- "
\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",
- " fixed acidity | \n",
- " volatile acidity | \n",
- " citric acid | \n",
- " residual sugar | \n",
- " chlorides | \n",
- " free sulfur dioxide | \n",
- " total sulfur dioxide | \n",
- " density | \n",
- " pH | \n",
- " sulphates | \n",
- " alcohol | \n",
- "
\n",
- " \n",
- " | quality | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 3 | \n",
- " 8.360000 | \n",
- " 0.884500 | \n",
- " 0.171000 | \n",
- " 2.635000 | \n",
- " 0.122500 | \n",
- " 11.000000 | \n",
- " 24.900000 | \n",
- " 0.997464 | \n",
- " 3.398000 | \n",
- " 0.570000 | \n",
- " 9.955000 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 7.779245 | \n",
- " 0.693962 | \n",
- " 0.174151 | \n",
- " 2.694340 | \n",
- " 0.090679 | \n",
- " 12.264151 | \n",
- " 36.245283 | \n",
- " 0.996542 | \n",
- " 3.381509 | \n",
- " 0.596415 | \n",
- " 10.265094 | \n",
- "
\n",
- " \n",
- " | 5 | \n",
- " 8.167254 | \n",
- " 0.577041 | \n",
- " 0.243686 | \n",
- " 2.528855 | \n",
- " 0.092736 | \n",
- " 16.983847 | \n",
- " 56.513950 | \n",
- " 0.997104 | \n",
- " 3.304949 | \n",
- " 0.620969 | \n",
- " 9.899706 | \n",
- "
\n",
- " \n",
- " | 6 | \n",
- " 8.347179 | \n",
- " 0.497484 | \n",
- " 0.273824 | \n",
- " 2.477194 | \n",
- " 0.084956 | \n",
- " 15.711599 | \n",
- " 40.869906 | \n",
- " 0.996615 | \n",
- " 3.318072 | \n",
- " 0.675329 | \n",
- " 10.629519 | \n",
- "
\n",
- " \n",
- " | 7 | \n",
- " 8.872362 | \n",
- " 0.403920 | \n",
- " 0.375176 | \n",
- " 2.720603 | \n",
- " 0.076588 | \n",
- " 14.045226 | \n",
- " 35.020101 | \n",
- " 0.996104 | \n",
- " 3.290754 | \n",
- " 0.741256 | \n",
- " 11.465913 | \n",
- "
\n",
- " \n",
- " | 8 | \n",
- " 8.566667 | \n",
- " 0.423333 | \n",
- " 0.391111 | \n",
- " 2.577778 | \n",
- " 0.068444 | \n",
- " 13.277778 | \n",
- " 33.444444 | \n",
- " 0.995212 | \n",
- " 3.267222 | \n",
- " 0.767778 | \n",
- " 12.094444 | \n",
- "
\n",
- " \n",
- "
\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",
- " fixed acidity | \n",
- " volatile acidity | \n",
- " citric acid | \n",
- " residual sugar | \n",
- " chlorides | \n",
- " free sulfur dioxide | \n",
- " total sulfur dioxide | \n",
- " density | \n",
- " pH | \n",
- " sulphates | \n",
- " alcohol | \n",
- " quality | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " 7.4 | \n",
- " 0.70 | \n",
- " 0.00 | \n",
- " 1.9 | \n",
- " 0.076 | \n",
- " 11 | \n",
- " 34 | \n",
- " 0.9978 | \n",
- " 3.51 | \n",
- " 0.56 | \n",
- " 9.4 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " 7.8 | \n",
- " 0.88 | \n",
- " 0.00 | \n",
- " 2.6 | \n",
- " 0.098 | \n",
- " 25 | \n",
- " 67 | \n",
- " 0.9968 | \n",
- " 3.20 | \n",
- " 0.68 | \n",
- " 9.8 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " 7.8 | \n",
- " 0.76 | \n",
- " 0.04 | \n",
- " 2.3 | \n",
- " 0.092 | \n",
- " 15 | \n",
- " 54 | \n",
- " 0.9970 | \n",
- " 3.26 | \n",
- " 0.65 | \n",
- " 9.8 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " 11.2 | \n",
- " 0.28 | \n",
- " 0.56 | \n",
- " 1.9 | \n",
- " 0.075 | \n",
- " 17 | \n",
- " 60 | \n",
- " 0.9980 | \n",
- " 3.16 | \n",
- " 0.58 | \n",
- " 9.8 | \n",
- " 6 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 7.4 | \n",
- " 0.70 | \n",
- " 0.00 | \n",
- " 1.9 | \n",
- " 0.076 | \n",
- " 11 | \n",
- " 34 | \n",
- " 0.9978 | \n",
- " 3.51 | \n",
- " 0.56 | \n",
- " 9.4 | \n",
- " 5 | \n",
- "
\n",
- " \n",
- "
\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",
- " fixed acidity | \n",
- " volatile acidity | \n",
- " citric acid | \n",
- " residual sugar | \n",
- " chlorides | \n",
- " free sulfur dioxide | \n",
- " total sulfur dioxide | \n",
- " density | \n",
- " pH | \n",
- " sulphates | \n",
- " alcohol | \n",
- " quality | \n",
- " qual/alc ratio | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " 7.4 | \n",
- " 0.70 | \n",
- " 0.00 | \n",
- " 1.9 | \n",
- " 0.076 | \n",
- " 11 | \n",
- " 34 | \n",
- " 0.9978 | \n",
- " 3.51 | \n",
- " 0.56 | \n",
- " 9.4 | \n",
- " 5 | \n",
- " 0.531915 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " 7.8 | \n",
- " 0.88 | \n",
- " 0.00 | \n",
- " 2.6 | \n",
- " 0.098 | \n",
- " 25 | \n",
- " 67 | \n",
- " 0.9968 | \n",
- " 3.20 | \n",
- " 0.68 | \n",
- " 9.8 | \n",
- " 5 | \n",
- " 0.510204 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " 7.8 | \n",
- " 0.76 | \n",
- " 0.04 | \n",
- " 2.3 | \n",
- " 0.092 | \n",
- " 15 | \n",
- " 54 | \n",
- " 0.9970 | \n",
- " 3.26 | \n",
- " 0.65 | \n",
- " 9.8 | \n",
- " 5 | \n",
- " 0.510204 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " 11.2 | \n",
- " 0.28 | \n",
- " 0.56 | \n",
- " 1.9 | \n",
- " 0.075 | \n",
- " 17 | \n",
- " 60 | \n",
- " 0.9980 | \n",
- " 3.16 | \n",
- " 0.58 | \n",
- " 9.8 | \n",
- " 6 | \n",
- " 0.612245 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 7.4 | \n",
- " 0.70 | \n",
- " 0.00 | \n",
- " 1.9 | \n",
- " 0.076 | \n",
- " 11 | \n",
- " 34 | \n",
- " 0.9978 | \n",
- " 3.51 | \n",
- " 0.56 | \n",
- " 9.4 | \n",
- " 5 | \n",
- " 0.531915 | \n",
- "
\n",
- " \n",
- "
\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",
- " alcohol | \n",
- " chlorides | \n",
- " citric acid | \n",
- " density | \n",
- " fixed acidity | \n",
- " free sulfur dioxide | \n",
- " pH | \n",
- " qual/alc ratio | \n",
- " residual sugar | \n",
- " sulphates | \n",
- " total sulfur dioxide | \n",
- " volatile acidity | \n",
- "
\n",
- " \n",
- " | quality | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- " | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 3 | \n",
- " 9.955000 | \n",
- " 0.122500 | \n",
- " 0.171000 | \n",
- " 0.997464 | \n",
- " 8.360000 | \n",
- " 11.000000 | \n",
- " 3.398000 | \n",
- " 0.303286 | \n",
- " 2.635000 | \n",
- " 0.570000 | \n",
- " 24.900000 | \n",
- " 0.884500 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 10.265094 | \n",
- " 0.090679 | \n",
- " 0.174151 | \n",
- " 0.996542 | \n",
- " 7.779245 | \n",
- " 12.264151 | \n",
- " 3.381509 | \n",
- " 0.392724 | \n",
- " 2.694340 | \n",
- " 0.596415 | \n",
- " 36.245283 | \n",
- " 0.693962 | \n",
- "
\n",
- " \n",
- " | 5 | \n",
- " 9.899706 | \n",
- " 0.092736 | \n",
- " 0.243686 | \n",
- " 0.997104 | \n",
- " 8.167254 | \n",
- " 16.983847 | \n",
- " 3.304949 | \n",
- " 0.507573 | \n",
- " 2.528855 | \n",
- " 0.620969 | \n",
- " 56.513950 | \n",
- " 0.577041 | \n",
- "
\n",
- " \n",
- " | 6 | \n",
- " 10.629519 | \n",
- " 0.084956 | \n",
- " 0.273824 | \n",
- " 0.996615 | \n",
- " 8.347179 | \n",
- " 15.711599 | \n",
- " 3.318072 | \n",
- " 0.569801 | \n",
- " 2.477194 | \n",
- " 0.675329 | \n",
- " 40.869906 | \n",
- " 0.497484 | \n",
- "
\n",
- " \n",
- " | 7 | \n",
- " 11.465913 | \n",
- " 0.076588 | \n",
- " 0.375176 | \n",
- " 0.996104 | \n",
- " 8.872362 | \n",
- " 14.045226 | \n",
- " 3.290754 | \n",
- " 0.614855 | \n",
- " 2.720603 | \n",
- " 0.741256 | \n",
- " 35.020101 | \n",
- " 0.403920 | \n",
- "
\n",
- " \n",
- " | 8 | \n",
- " 12.094444 | \n",
- " 0.068444 | \n",
- " 0.391111 | \n",
- " 0.995212 | \n",
- " 8.566667 | \n",
- " 13.277778 | \n",
- " 3.267222 | \n",
- " 0.668146 | \n",
- " 2.577778 | \n",
- " 0.767778 | \n",
- " 33.444444 | \n",
- " 0.423333 | \n",
- "
\n",
- " \n",
- "
\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",
+
+ " fixed acidity | \n",
+
+ " volatile acidity | \n",
+
+ " citric acid | \n",
+
+ " residual sugar | \n",
+
+ " chlorides | \n",
+
+ " free sulfur dioxide | \n",
+
+ " total sulfur dioxide | \n",
+
+ " density | \n",
+
+ " pH | \n",
+
+ " sulphates | \n",
+
+ " alcohol | \n",
+
+ " quality | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 0 | \n",
+
+ " 7.4 | \n",
+
+ " 0.70 | \n",
+
+ " 0.00 | \n",
+
+ " 1.9 | \n",
+
+ " 0.076 | \n",
+
+ " 11 | \n",
+
+ " 34 | \n",
+
+ " 0.9978 | \n",
+
+ " 3.51 | \n",
+
+ " 0.56 | \n",
+
+ " 9.4 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 1 | \n",
+
+ " 7.8 | \n",
+
+ " 0.88 | \n",
+
+ " 0.00 | \n",
+
+ " 2.6 | \n",
+
+ " 0.098 | \n",
+
+ " 25 | \n",
+
+ " 67 | \n",
+
+ " 0.9968 | \n",
+
+ " 3.20 | \n",
+
+ " 0.68 | \n",
+
+ " 9.8 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 2 | \n",
+
+ " 7.8 | \n",
+
+ " 0.76 | \n",
+
+ " 0.04 | \n",
+
+ " 2.3 | \n",
+
+ " 0.092 | \n",
+
+ " 15 | \n",
+
+ " 54 | \n",
+
+ " 0.9970 | \n",
+
+ " 3.26 | \n",
+
+ " 0.65 | \n",
+
+ " 9.8 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " 11.2 | \n",
+
+ " 0.28 | \n",
+
+ " 0.56 | \n",
+
+ " 1.9 | \n",
+
+ " 0.075 | \n",
+
+ " 17 | \n",
+
+ " 60 | \n",
+
+ " 0.9980 | \n",
+
+ " 3.16 | \n",
+
+ " 0.58 | \n",
+
+ " 9.8 | \n",
+
+ " 6 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " 7.4 | \n",
+
+ " 0.70 | \n",
+
+ " 0.00 | \n",
+
+ " 1.9 | \n",
+
+ " 0.076 | \n",
+
+ " 11 | \n",
+
+ " 34 | \n",
+
+ " 0.9978 | \n",
+
+ " 3.51 | \n",
+
+ " 0.56 | \n",
+
+ " 9.4 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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",
+
+ " alcohol | \n",
+
+ " chlorides | \n",
+
+ " citric acid | \n",
+
+ " density | \n",
+
+ " fixed acidity | \n",
+
+ " free sulfur dioxide | \n",
+
+ " pH | \n",
+
+ " residual sugar | \n",
+
+ " sulphates | \n",
+
+ " total sulfur dioxide | \n",
+
+ " volatile acidity | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | quality | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " count | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ " 10.000000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | mean | \n",
+
+ " 9.955000 | \n",
+
+ " 0.122500 | \n",
+
+ " 0.171000 | \n",
+
+ " 0.997464 | \n",
+
+ " 8.360000 | \n",
+
+ " 11.000000 | \n",
+
+ " 3.398000 | \n",
+
+ " 2.635000 | \n",
+
+ " 0.570000 | \n",
+
+ " 24.900000 | \n",
+
+ " 0.884500 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | std | \n",
+
+ " 0.818009 | \n",
+
+ " 0.066241 | \n",
+
+ " 0.250664 | \n",
+
+ " 0.002002 | \n",
+
+ " 1.770875 | \n",
+
+ " 9.763879 | \n",
+
+ " 0.144052 | \n",
+
+ " 1.401596 | \n",
+
+ " 0.122020 | \n",
+
+ " 16.828877 | \n",
+
+ " 0.331256 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | min | \n",
+
+ " 8.400000 | \n",
+
+ " 0.061000 | \n",
+
+ " 0.000000 | \n",
+
+ " 0.994710 | \n",
+
+ " 6.700000 | \n",
+
+ " 3.000000 | \n",
+
+ " 3.160000 | \n",
+
+ " 1.200000 | \n",
+
+ " 0.400000 | \n",
+
+ " 9.000000 | \n",
+
+ " 0.440000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 25% | \n",
+
+ " 9.725000 | \n",
+
+ " 0.079000 | \n",
+
+ " 0.005000 | \n",
+
+ " 0.996150 | \n",
+
+ " 7.150000 | \n",
+
+ " 5.000000 | \n",
+
+ " 3.312500 | \n",
+
+ " 1.875000 | \n",
+
+ " 0.512500 | \n",
+
+ " 12.500000 | \n",
+
+ " 0.647500 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 50% | \n",
+
+ " 9.925000 | \n",
+
+ " 0.090500 | \n",
+
+ " 0.035000 | \n",
+
+ " 0.997565 | \n",
+
+ " 7.500000 | \n",
+
+ " 6.000000 | \n",
+
+ " 3.390000 | \n",
+
+ " 2.100000 | \n",
+
+ " 0.545000 | \n",
+
+ " 15.000000 | \n",
+
+ " 0.845000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 75% | \n",
+
+ " 10.575000 | \n",
+
+ " 0.143000 | \n",
+
+ " 0.327500 | \n",
+
+ " 0.998770 | \n",
+
+ " 9.875000 | \n",
+
+ " 14.500000 | \n",
+
+ " 3.495000 | \n",
+
+ " 3.100000 | \n",
+
+ " 0.615000 | \n",
+
+ " 42.500000 | \n",
+
+ " 1.010000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | max | \n",
+
+ " 11.000000 | \n",
+
+ " 0.267000 | \n",
+
+ " 0.660000 | \n",
+
+ " 1.000800 | \n",
+
+ " 11.600000 | \n",
+
+ " 34.000000 | \n",
+
+ " 3.630000 | \n",
+
+ " 5.700000 | \n",
+
+ " 0.860000 | \n",
+
+ " 49.000000 | \n",
+
+ " 1.580000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " count | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ " 53.000000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | mean | \n",
+
+ " 10.265094 | \n",
+
+ " 0.090679 | \n",
+
+ " 0.174151 | \n",
+
+ " 0.996542 | \n",
+
+ " 7.779245 | \n",
+
+ " 12.264151 | \n",
+
+ " 3.381509 | \n",
+
+ " 2.694340 | \n",
+
+ " 0.596415 | \n",
+
+ " 36.245283 | \n",
+
+ " 0.693962 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | std | \n",
+
+ " 0.934776 | \n",
+
+ " 0.076192 | \n",
+
+ " 0.201030 | \n",
+
+ " 0.001575 | \n",
+
+ " 1.626624 | \n",
+
+ " 9.025926 | \n",
+
+ " 0.181441 | \n",
+
+ " 1.789436 | \n",
+
+ " 0.239391 | \n",
+
+ " 27.583374 | \n",
+
+ " 0.220110 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | min | \n",
+
+ " 9.000000 | \n",
+
+ " 0.045000 | \n",
+
+ " 0.000000 | \n",
+
+ " 0.993400 | \n",
+
+ " 4.600000 | \n",
+
+ " 3.000000 | \n",
+
+ " 2.740000 | \n",
+
+ " 1.300000 | \n",
+
+ " 0.330000 | \n",
+
+ " 7.000000 | \n",
+
+ " 0.230000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 25% | \n",
+
+ " 9.600000 | \n",
+
+ " 0.067000 | \n",
+
+ " 0.030000 | \n",
+
+ " 0.995650 | \n",
+
+ " 6.800000 | \n",
+
+ " 6.000000 | \n",
+
+ " 3.300000 | \n",
+
+ " 1.900000 | \n",
+
+ " 0.490000 | \n",
+
+ " 14.000000 | \n",
+
+ " 0.530000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 50% | \n",
+
+ " 10.000000 | \n",
+
+ " 0.080000 | \n",
+
+ " 0.090000 | \n",
+
+ " 0.996500 | \n",
+
+ " 7.500000 | \n",
+
+ " 11.000000 | \n",
+
+ " 3.370000 | \n",
+
+ " 2.100000 | \n",
+
+ " 0.560000 | \n",
+
+ " 26.000000 | \n",
+
+ " 0.670000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 75% | \n",
+
+ " 11.000000 | \n",
+
+ " 0.089000 | \n",
+
+ " 0.270000 | \n",
+
+ " 0.997450 | \n",
+
+ " 8.400000 | \n",
+
+ " 15.000000 | \n",
+
+ " 3.500000 | \n",
+
+ " 2.800000 | \n",
+
+ " 0.600000 | \n",
+
+ " 49.000000 | \n",
+
+ " 0.870000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | max | \n",
+
+ " 13.100000 | \n",
+
+ " 0.610000 | \n",
+
+ " 1.000000 | \n",
+
+ " 1.001000 | \n",
+
+ " 12.500000 | \n",
+
+ " 41.000000 | \n",
+
+ " 3.900000 | \n",
+
+ " 12.900000 | \n",
+
+ " 2.000000 | \n",
+
+ " 119.000000 | \n",
+
+ " 1.130000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 5 | \n",
+
+ " count | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ " 681.000000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | mean | \n",
+
+ " 9.899706 | \n",
+
+ " 0.092736 | \n",
+
+ " 0.243686 | \n",
+
+ " 0.997104 | \n",
+
+ " 8.167254 | \n",
+
+ " 16.983847 | \n",
+
+ " 3.304949 | \n",
+
+ " 2.528855 | \n",
+
+ " 0.620969 | \n",
+
+ " 56.513950 | \n",
+
+ " 0.577041 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | std | \n",
+
+ " 0.736521 | \n",
+
+ " 0.053707 | \n",
+
+ " 0.180003 | \n",
+
+ " 0.001589 | \n",
+
+ " 1.563988 | \n",
+
+ " 10.955446 | \n",
+
+ " 0.150618 | \n",
+
+ " 1.359753 | \n",
+
+ " 0.171062 | \n",
+
+ " 36.993116 | \n",
+
+ " 0.164801 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | min | \n",
+
+ " 8.500000 | \n",
+
+ " 0.039000 | \n",
+
+ " 0.000000 | \n",
+
+ " 0.992560 | \n",
+
+ " 5.000000 | \n",
+
+ " 3.000000 | \n",
+
+ " 2.880000 | \n",
+
+ " 1.200000 | \n",
+
+ " 0.370000 | \n",
+
+ " 6.000000 | \n",
+
+ " 0.180000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 25% | \n",
+
+ " 9.400000 | \n",
+
+ " 0.074000 | \n",
+
+ " 0.090000 | \n",
+
+ " 0.996200 | \n",
+
+ " 7.100000 | \n",
+
+ " 9.000000 | \n",
+
+ " 3.200000 | \n",
+
+ " 1.900000 | \n",
+
+ " 0.530000 | \n",
+
+ " 26.000000 | \n",
+
+ " 0.460000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 50% | \n",
+
+ " 9.700000 | \n",
+
+ " 0.081000 | \n",
+
+ " 0.230000 | \n",
+
+ " 0.997000 | \n",
+
+ " 7.800000 | \n",
+
+ " 15.000000 | \n",
+
+ " 3.300000 | \n",
+
+ " 2.200000 | \n",
+
+ " 0.580000 | \n",
+
+ " 47.000000 | \n",
+
+ " 0.580000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 75% | \n",
+
+ " 10.200000 | \n",
+
+ " 0.094000 | \n",
+
+ " 0.360000 | \n",
+
+ " 0.997900 | \n",
+
+ " 8.900000 | \n",
+
+ " 23.000000 | \n",
+
+ " 3.400000 | \n",
+
+ " 2.600000 | \n",
+
+ " 0.660000 | \n",
+
+ " 84.000000 | \n",
+
+ " 0.670000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | max | \n",
+
+ " 14.900000 | \n",
+
+ " 0.611000 | \n",
+
+ " 0.790000 | \n",
+
+ " 1.003150 | \n",
+
+ " 15.900000 | \n",
+
+ " 68.000000 | \n",
+
+ " 3.740000 | \n",
+
+ " 15.500000 | \n",
+
+ " 1.980000 | \n",
+
+ " 155.000000 | \n",
+
+ " 1.330000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 6 | \n",
+
+ " count | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ " 638.000000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | mean | \n",
+
+ " 10.629519 | \n",
+
+ " 0.084956 | \n",
+
+ " 0.273824 | \n",
+
+ " 0.996615 | \n",
+
+ " 8.347179 | \n",
+
+ " 15.711599 | \n",
+
+ " 3.318072 | \n",
+
+ " 2.477194 | \n",
+
+ " 0.675329 | \n",
+
+ " 40.869906 | \n",
+
+ " 0.497484 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | std | \n",
+
+ " 1.049639 | \n",
+
+ " 0.039563 | \n",
+
+ " 0.195108 | \n",
+
+ " 0.002000 | \n",
+
+ " 1.797849 | \n",
+
+ " 9.940911 | \n",
+
+ " 0.153995 | \n",
+
+ " 1.441576 | \n",
+
+ " 0.158650 | \n",
+
+ " 25.038250 | \n",
+
+ " 0.160962 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | min | \n",
+
+ " 8.400000 | \n",
+
+ " 0.034000 | \n",
+
+ " 0.000000 | \n",
+
+ " 0.990070 | \n",
+
+ " 4.700000 | \n",
+
+ " 1.000000 | \n",
+
+ " 2.860000 | \n",
+
+ " 0.900000 | \n",
+
+ " 0.400000 | \n",
+
+ " 6.000000 | \n",
+
+ " 0.160000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 25% | \n",
+
+ " 9.800000 | \n",
+
+ " 0.068250 | \n",
+
+ " 0.090000 | \n",
+
+ " 0.995402 | \n",
+
+ " 7.000000 | \n",
+
+ " 8.000000 | \n",
+
+ " 3.220000 | \n",
+
+ " 1.900000 | \n",
+
+ " 0.580000 | \n",
+
+ " 23.000000 | \n",
+
+ " 0.380000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 50% | \n",
+
+ " 10.500000 | \n",
+
+ " 0.078000 | \n",
+
+ " 0.260000 | \n",
+
+ " 0.996560 | \n",
+
+ " 7.900000 | \n",
+
+ " 14.000000 | \n",
+
+ " 3.320000 | \n",
+
+ " 2.200000 | \n",
+
+ " 0.640000 | \n",
+
+ " 35.000000 | \n",
+
+ " 0.490000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 75% | \n",
+
+ " 11.300000 | \n",
+
+ " 0.088000 | \n",
+
+ " 0.430000 | \n",
+
+ " 0.997893 | \n",
+
+ " 9.400000 | \n",
+
+ " 21.000000 | \n",
+
+ " 3.410000 | \n",
+
+ " 2.500000 | \n",
+
+ " 0.750000 | \n",
+
+ " 54.000000 | \n",
+
+ " 0.600000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | max | \n",
+
+ " 14.000000 | \n",
+
+ " 0.415000 | \n",
+
+ " 0.780000 | \n",
+
+ " 1.003690 | \n",
+
+ " 14.300000 | \n",
+
+ " 72.000000 | \n",
+
+ " 4.010000 | \n",
+
+ " 15.400000 | \n",
+
+ " 1.950000 | \n",
+
+ " 165.000000 | \n",
+
+ " 1.040000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 7 | \n",
+
+ " count | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ " 199.000000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | mean | \n",
+
+ " 11.465913 | \n",
+
+ " 0.076588 | \n",
+
+ " 0.375176 | \n",
+
+ " 0.996104 | \n",
+
+ " 8.872362 | \n",
+
+ " 14.045226 | \n",
+
+ " 3.290754 | \n",
+
+ " 2.720603 | \n",
+
+ " 0.741256 | \n",
+
+ " 35.020101 | \n",
+
+ " 0.403920 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | std | \n",
+
+ " 0.961933 | \n",
+
+ " 0.029456 | \n",
+
+ " 0.194432 | \n",
+
+ " 0.002176 | \n",
+
+ " 1.992483 | \n",
+
+ " 10.175255 | \n",
+
+ " 0.150101 | \n",
+
+ " 1.371509 | \n",
+
+ " 0.135639 | \n",
+
+ " 33.191206 | \n",
+
+ " 0.145224 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | min | \n",
+
+ " 9.200000 | \n",
+
+ " 0.012000 | \n",
+
+ " 0.000000 | \n",
+
+ " 0.990640 | \n",
+
+ " 4.900000 | \n",
+
+ " 3.000000 | \n",
+
+ " 2.920000 | \n",
+
+ " 1.200000 | \n",
+
+ " 0.390000 | \n",
+
+ " 7.000000 | \n",
+
+ " 0.120000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 25% | \n",
+
+ " 10.800000 | \n",
+
+ " 0.062000 | \n",
+
+ " 0.305000 | \n",
+
+ " 0.994765 | \n",
+
+ " 7.400000 | \n",
+
+ " 6.000000 | \n",
+
+ " 3.200000 | \n",
+
+ " 2.000000 | \n",
+
+ " 0.650000 | \n",
+
+ " 17.500000 | \n",
+
+ " 0.300000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 50% | \n",
+
+ " 11.500000 | \n",
+
+ " 0.073000 | \n",
+
+ " 0.400000 | \n",
+
+ " 0.995770 | \n",
+
+ " 8.800000 | \n",
+
+ " 11.000000 | \n",
+
+ " 3.280000 | \n",
+
+ " 2.300000 | \n",
+
+ " 0.740000 | \n",
+
+ " 27.000000 | \n",
+
+ " 0.370000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 75% | \n",
+
+ " 12.100000 | \n",
+
+ " 0.087000 | \n",
+
+ " 0.490000 | \n",
+
+ " 0.997360 | \n",
+
+ " 10.100000 | \n",
+
+ " 18.000000 | \n",
+
+ " 3.380000 | \n",
+
+ " 2.750000 | \n",
+
+ " 0.830000 | \n",
+
+ " 43.000000 | \n",
+
+ " 0.485000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | max | \n",
+
+ " 14.000000 | \n",
+
+ " 0.358000 | \n",
+
+ " 0.760000 | \n",
+
+ " 1.003200 | \n",
+
+ " 15.600000 | \n",
+
+ " 54.000000 | \n",
+
+ " 3.780000 | \n",
+
+ " 8.900000 | \n",
+
+ " 1.360000 | \n",
+
+ " 289.000000 | \n",
+
+ " 0.915000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 8 | \n",
+
+ " count | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ " 18.000000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | mean | \n",
+
+ " 12.094444 | \n",
+
+ " 0.068444 | \n",
+
+ " 0.391111 | \n",
+
+ " 0.995212 | \n",
+
+ " 8.566667 | \n",
+
+ " 13.277778 | \n",
+
+ " 3.267222 | \n",
+
+ " 2.577778 | \n",
+
+ " 0.767778 | \n",
+
+ " 33.444444 | \n",
+
+ " 0.423333 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | std | \n",
+
+ " 1.224011 | \n",
+
+ " 0.011678 | \n",
+
+ " 0.199526 | \n",
+
+ " 0.002378 | \n",
+
+ " 2.119656 | \n",
+
+ " 11.155613 | \n",
+
+ " 0.200640 | \n",
+
+ " 1.295038 | \n",
+
+ " 0.115379 | \n",
+
+ " 25.433240 | \n",
+
+ " 0.144914 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | min | \n",
+
+ " 9.800000 | \n",
+
+ " 0.044000 | \n",
+
+ " 0.030000 | \n",
+
+ " 0.990800 | \n",
+
+ " 5.000000 | \n",
+
+ " 3.000000 | \n",
+
+ " 2.880000 | \n",
+
+ " 1.400000 | \n",
+
+ " 0.630000 | \n",
+
+ " 12.000000 | \n",
+
+ " 0.260000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 25% | \n",
+
+ " 11.325000 | \n",
+
+ " 0.062000 | \n",
+
+ " 0.302500 | \n",
+
+ " 0.994175 | \n",
+
+ " 7.250000 | \n",
+
+ " 6.000000 | \n",
+
+ " 3.162500 | \n",
+
+ " 1.800000 | \n",
+
+ " 0.690000 | \n",
+
+ " 16.000000 | \n",
+
+ " 0.335000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 50% | \n",
+
+ " 12.150000 | \n",
+
+ " 0.070500 | \n",
+
+ " 0.420000 | \n",
+
+ " 0.994940 | \n",
+
+ " 8.250000 | \n",
+
+ " 7.500000 | \n",
+
+ " 3.230000 | \n",
+
+ " 2.100000 | \n",
+
+ " 0.740000 | \n",
+
+ " 21.500000 | \n",
+
+ " 0.370000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 75% | \n",
+
+ " 12.875000 | \n",
+
+ " 0.075500 | \n",
+
+ " 0.530000 | \n",
+
+ " 0.997200 | \n",
+
+ " 10.225000 | \n",
+
+ " 16.500000 | \n",
+
+ " 3.350000 | \n",
+
+ " 2.600000 | \n",
+
+ " 0.820000 | \n",
+
+ " 43.000000 | \n",
+
+ " 0.472500 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | max | \n",
+
+ " 14.000000 | \n",
+
+ " 0.086000 | \n",
+
+ " 0.720000 | \n",
+
+ " 0.998800 | \n",
+
+ " 12.600000 | \n",
+
+ " 42.000000 | \n",
+
+ " 3.720000 | \n",
+
+ " 6.400000 | \n",
+
+ " 1.100000 | \n",
+
+ " 88.000000 | \n",
+
+ " 0.850000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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",
+
+ " fixed acidity | \n",
+
+ " volatile acidity | \n",
+
+ " citric acid | \n",
+
+ " residual sugar | \n",
+
+ " chlorides | \n",
+
+ " free sulfur dioxide | \n",
+
+ " total sulfur dioxide | \n",
+
+ " density | \n",
+
+ " pH | \n",
+
+ " sulphates | \n",
+
+ " alcohol | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | quality | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " 4.9 | \n",
+
+ " 1.140 | \n",
+
+ " 0.66 | \n",
+
+ " 4.5 | \n",
+
+ " 0.206 | \n",
+
+ " 31 | \n",
+
+ " 40 | \n",
+
+ " 0.00609 | \n",
+
+ " 0.47 | \n",
+
+ " 0.46 | \n",
+
+ " 2.6 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " 7.9 | \n",
+
+ " 0.900 | \n",
+
+ " 1.00 | \n",
+
+ " 11.6 | \n",
+
+ " 0.565 | \n",
+
+ " 38 | \n",
+
+ " 112 | \n",
+
+ " 0.00760 | \n",
+
+ " 1.16 | \n",
+
+ " 1.67 | \n",
+
+ " 4.1 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 5 | \n",
+
+ " 10.9 | \n",
+
+ " 1.150 | \n",
+
+ " 0.79 | \n",
+
+ " 14.3 | \n",
+
+ " 0.572 | \n",
+
+ " 65 | \n",
+
+ " 149 | \n",
+
+ " 0.01059 | \n",
+
+ " 0.86 | \n",
+
+ " 1.61 | \n",
+
+ " 6.4 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 6 | \n",
+
+ " 9.6 | \n",
+
+ " 0.880 | \n",
+
+ " 0.78 | \n",
+
+ " 14.5 | \n",
+
+ " 0.381 | \n",
+
+ " 71 | \n",
+
+ " 159 | \n",
+
+ " 0.01362 | \n",
+
+ " 1.15 | \n",
+
+ " 1.55 | \n",
+
+ " 5.6 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 7 | \n",
+
+ " 10.7 | \n",
+
+ " 0.795 | \n",
+
+ " 0.76 | \n",
+
+ " 7.7 | \n",
+
+ " 0.346 | \n",
+
+ " 51 | \n",
+
+ " 282 | \n",
+
+ " 0.01256 | \n",
+
+ " 0.86 | \n",
+
+ " 0.97 | \n",
+
+ " 4.8 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 8 | \n",
+
+ " 7.6 | \n",
+
+ " 0.590 | \n",
+
+ " 0.69 | \n",
+
+ " 5.0 | \n",
+
+ " 0.042 | \n",
+
+ " 39 | \n",
+
+ " 76 | \n",
+
+ " 0.00800 | \n",
+
+ " 0.84 | \n",
+
+ " 0.47 | \n",
+
+ " 4.2 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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",
+
+ " fixed acidity | \n",
+
+ " volatile acidity | \n",
+
+ " citric acid | \n",
+
+ " residual sugar | \n",
+
+ " chlorides | \n",
+
+ " free sulfur dioxide | \n",
+
+ " total sulfur dioxide | \n",
+
+ " density | \n",
+
+ " pH | \n",
+
+ " sulphates | \n",
+
+ " alcohol | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | quality | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " 8.360000 | \n",
+
+ " 0.884500 | \n",
+
+ " 0.171000 | \n",
+
+ " 2.635000 | \n",
+
+ " 0.122500 | \n",
+
+ " 11.000000 | \n",
+
+ " 24.900000 | \n",
+
+ " 0.997464 | \n",
+
+ " 3.398000 | \n",
+
+ " 0.570000 | \n",
+
+ " 9.955000 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " 7.779245 | \n",
+
+ " 0.693962 | \n",
+
+ " 0.174151 | \n",
+
+ " 2.694340 | \n",
+
+ " 0.090679 | \n",
+
+ " 12.264151 | \n",
+
+ " 36.245283 | \n",
+
+ " 0.996542 | \n",
+
+ " 3.381509 | \n",
+
+ " 0.596415 | \n",
+
+ " 10.265094 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 5 | \n",
+
+ " 8.167254 | \n",
+
+ " 0.577041 | \n",
+
+ " 0.243686 | \n",
+
+ " 2.528855 | \n",
+
+ " 0.092736 | \n",
+
+ " 16.983847 | \n",
+
+ " 56.513950 | \n",
+
+ " 0.997104 | \n",
+
+ " 3.304949 | \n",
+
+ " 0.620969 | \n",
+
+ " 9.899706 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 6 | \n",
+
+ " 8.347179 | \n",
+
+ " 0.497484 | \n",
+
+ " 0.273824 | \n",
+
+ " 2.477194 | \n",
+
+ " 0.084956 | \n",
+
+ " 15.711599 | \n",
+
+ " 40.869906 | \n",
+
+ " 0.996615 | \n",
+
+ " 3.318072 | \n",
+
+ " 0.675329 | \n",
+
+ " 10.629519 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 7 | \n",
+
+ " 8.872362 | \n",
+
+ " 0.403920 | \n",
+
+ " 0.375176 | \n",
+
+ " 2.720603 | \n",
+
+ " 0.076588 | \n",
+
+ " 14.045226 | \n",
+
+ " 35.020101 | \n",
+
+ " 0.996104 | \n",
+
+ " 3.290754 | \n",
+
+ " 0.741256 | \n",
+
+ " 11.465913 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 8 | \n",
+
+ " 8.566667 | \n",
+
+ " 0.423333 | \n",
+
+ " 0.391111 | \n",
+
+ " 2.577778 | \n",
+
+ " 0.068444 | \n",
+
+ " 13.277778 | \n",
+
+ " 33.444444 | \n",
+
+ " 0.995212 | \n",
+
+ " 3.267222 | \n",
+
+ " 0.767778 | \n",
+
+ " 12.094444 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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",
+
+ " fixed acidity | \n",
+
+ " volatile acidity | \n",
+
+ " citric acid | \n",
+
+ " residual sugar | \n",
+
+ " chlorides | \n",
+
+ " free sulfur dioxide | \n",
+
+ " total sulfur dioxide | \n",
+
+ " density | \n",
+
+ " pH | \n",
+
+ " sulphates | \n",
+
+ " alcohol | \n",
+
+ " quality | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 0 | \n",
+
+ " 7.4 | \n",
+
+ " 0.70 | \n",
+
+ " 0.00 | \n",
+
+ " 1.9 | \n",
+
+ " 0.076 | \n",
+
+ " 11 | \n",
+
+ " 34 | \n",
+
+ " 0.9978 | \n",
+
+ " 3.51 | \n",
+
+ " 0.56 | \n",
+
+ " 9.4 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 1 | \n",
+
+ " 7.8 | \n",
+
+ " 0.88 | \n",
+
+ " 0.00 | \n",
+
+ " 2.6 | \n",
+
+ " 0.098 | \n",
+
+ " 25 | \n",
+
+ " 67 | \n",
+
+ " 0.9968 | \n",
+
+ " 3.20 | \n",
+
+ " 0.68 | \n",
+
+ " 9.8 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 2 | \n",
+
+ " 7.8 | \n",
+
+ " 0.76 | \n",
+
+ " 0.04 | \n",
+
+ " 2.3 | \n",
+
+ " 0.092 | \n",
+
+ " 15 | \n",
+
+ " 54 | \n",
+
+ " 0.9970 | \n",
+
+ " 3.26 | \n",
+
+ " 0.65 | \n",
+
+ " 9.8 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " 11.2 | \n",
+
+ " 0.28 | \n",
+
+ " 0.56 | \n",
+
+ " 1.9 | \n",
+
+ " 0.075 | \n",
+
+ " 17 | \n",
+
+ " 60 | \n",
+
+ " 0.9980 | \n",
+
+ " 3.16 | \n",
+
+ " 0.58 | \n",
+
+ " 9.8 | \n",
+
+ " 6 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " 7.4 | \n",
+
+ " 0.70 | \n",
+
+ " 0.00 | \n",
+
+ " 1.9 | \n",
+
+ " 0.076 | \n",
+
+ " 11 | \n",
+
+ " 34 | \n",
+
+ " 0.9978 | \n",
+
+ " 3.51 | \n",
+
+ " 0.56 | \n",
+
+ " 9.4 | \n",
+
+ " 5 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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",
+
+ " fixed acidity | \n",
+
+ " volatile acidity | \n",
+
+ " citric acid | \n",
+
+ " residual sugar | \n",
+
+ " chlorides | \n",
+
+ " free sulfur dioxide | \n",
+
+ " total sulfur dioxide | \n",
+
+ " density | \n",
+
+ " pH | \n",
+
+ " sulphates | \n",
+
+ " alcohol | \n",
+
+ " quality | \n",
+
+ " qual/alc ratio | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 0 | \n",
+
+ " 7.4 | \n",
+
+ " 0.70 | \n",
+
+ " 0.00 | \n",
+
+ " 1.9 | \n",
+
+ " 0.076 | \n",
+
+ " 11 | \n",
+
+ " 34 | \n",
+
+ " 0.9978 | \n",
+
+ " 3.51 | \n",
+
+ " 0.56 | \n",
+
+ " 9.4 | \n",
+
+ " 5 | \n",
+
+ " 0.531915 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 1 | \n",
+
+ " 7.8 | \n",
+
+ " 0.88 | \n",
+
+ " 0.00 | \n",
+
+ " 2.6 | \n",
+
+ " 0.098 | \n",
+
+ " 25 | \n",
+
+ " 67 | \n",
+
+ " 0.9968 | \n",
+
+ " 3.20 | \n",
+
+ " 0.68 | \n",
+
+ " 9.8 | \n",
+
+ " 5 | \n",
+
+ " 0.510204 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 2 | \n",
+
+ " 7.8 | \n",
+
+ " 0.76 | \n",
+
+ " 0.04 | \n",
+
+ " 2.3 | \n",
+
+ " 0.092 | \n",
+
+ " 15 | \n",
+
+ " 54 | \n",
+
+ " 0.9970 | \n",
+
+ " 3.26 | \n",
+
+ " 0.65 | \n",
+
+ " 9.8 | \n",
+
+ " 5 | \n",
+
+ " 0.510204 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " 11.2 | \n",
+
+ " 0.28 | \n",
+
+ " 0.56 | \n",
+
+ " 1.9 | \n",
+
+ " 0.075 | \n",
+
+ " 17 | \n",
+
+ " 60 | \n",
+
+ " 0.9980 | \n",
+
+ " 3.16 | \n",
+
+ " 0.58 | \n",
+
+ " 9.8 | \n",
+
+ " 6 | \n",
+
+ " 0.612245 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " 7.4 | \n",
+
+ " 0.70 | \n",
+
+ " 0.00 | \n",
+
+ " 1.9 | \n",
+
+ " 0.076 | \n",
+
+ " 11 | \n",
+
+ " 34 | \n",
+
+ " 0.9978 | \n",
+
+ " 3.51 | \n",
+
+ " 0.56 | \n",
+
+ " 9.4 | \n",
+
+ " 5 | \n",
+
+ " 0.531915 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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",
+
+ " alcohol | \n",
+
+ " chlorides | \n",
+
+ " citric acid | \n",
+
+ " density | \n",
+
+ " fixed acidity | \n",
+
+ " free sulfur dioxide | \n",
+
+ " pH | \n",
+
+ " qual/alc ratio | \n",
+
+ " residual sugar | \n",
+
+ " sulphates | \n",
+
+ " total sulfur dioxide | \n",
+
+ " volatile acidity | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | quality | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ " | \n",
+
+ "
\n",
+
+ " \n",
+
+ " \n",
+
+ " \n",
+
+ " | 3 | \n",
+
+ " 9.955000 | \n",
+
+ " 0.122500 | \n",
+
+ " 0.171000 | \n",
+
+ " 0.997464 | \n",
+
+ " 8.360000 | \n",
+
+ " 11.000000 | \n",
+
+ " 3.398000 | \n",
+
+ " 0.303286 | \n",
+
+ " 2.635000 | \n",
+
+ " 0.570000 | \n",
+
+ " 24.900000 | \n",
+
+ " 0.884500 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 4 | \n",
+
+ " 10.265094 | \n",
+
+ " 0.090679 | \n",
+
+ " 0.174151 | \n",
+
+ " 0.996542 | \n",
+
+ " 7.779245 | \n",
+
+ " 12.264151 | \n",
+
+ " 3.381509 | \n",
+
+ " 0.392724 | \n",
+
+ " 2.694340 | \n",
+
+ " 0.596415 | \n",
+
+ " 36.245283 | \n",
+
+ " 0.693962 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 5 | \n",
+
+ " 9.899706 | \n",
+
+ " 0.092736 | \n",
+
+ " 0.243686 | \n",
+
+ " 0.997104 | \n",
+
+ " 8.167254 | \n",
+
+ " 16.983847 | \n",
+
+ " 3.304949 | \n",
+
+ " 0.507573 | \n",
+
+ " 2.528855 | \n",
+
+ " 0.620969 | \n",
+
+ " 56.513950 | \n",
+
+ " 0.577041 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 6 | \n",
+
+ " 10.629519 | \n",
+
+ " 0.084956 | \n",
+
+ " 0.273824 | \n",
+
+ " 0.996615 | \n",
+
+ " 8.347179 | \n",
+
+ " 15.711599 | \n",
+
+ " 3.318072 | \n",
+
+ " 0.569801 | \n",
+
+ " 2.477194 | \n",
+
+ " 0.675329 | \n",
+
+ " 40.869906 | \n",
+
+ " 0.497484 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 7 | \n",
+
+ " 11.465913 | \n",
+
+ " 0.076588 | \n",
+
+ " 0.375176 | \n",
+
+ " 0.996104 | \n",
+
+ " 8.872362 | \n",
+
+ " 14.045226 | \n",
+
+ " 3.290754 | \n",
+
+ " 0.614855 | \n",
+
+ " 2.720603 | \n",
+
+ " 0.741256 | \n",
+
+ " 35.020101 | \n",
+
+ " 0.403920 | \n",
+
+ "
\n",
+
+ " \n",
+
+ " | 8 | \n",
+
+ " 12.094444 | \n",
+
+ " 0.068444 | \n",
+
+ " 0.391111 | \n",
+
+ " 0.995212 | \n",
+
+ " 8.566667 | \n",
+
+ " 13.277778 | \n",
+
+ " 3.267222 | \n",
+
+ " 0.668146 | \n",
+
+ " 2.577778 | \n",
+
+ " 0.767778 | \n",
+
+ " 33.444444 | \n",
+
+ " 0.423333 | \n",
+
+ "
\n",
+
+ " \n",
+
+ "
\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": {}
+
+ }
+
+ ]
+
+}