diff --git a/pandas/pandas.ipynb b/pandas/pandas.ipynb
index 6e4873948b0010464231e4c7d9f9cc93ff054bd1..31cfbf3bdd2334d8da92e5383b75f8b1b068d816 100644
--- a/pandas/pandas.ipynb
+++ b/pandas/pandas.ipynb
@@ -1,23 +1,1919 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Data Manging with pandas"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Introduction"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## powerful Python data analysis toolkit"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "pandas is a Python package aiming to provide\n",
+    "- fast\n",
+    "- flexible\n",
+    "- expressive\n",
+    "\n",
+    "data structures designed to make working with\n",
+    "\n",
+    "- relational\n",
+    "- labeled\n",
+    "\n",
+    "data both easy and intuitive. \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Suitable for data of all sorts"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "- Tabular data with columns of different data types (as in an SQL table or Excel spreadsheet)\n",
+    "- Ordered and unordered time series data (not necessarily fixed-frequency)\n",
+    "- Arbitrary matrix data with row and column labels (homogeneously typed or heterogeneous)\n",
+    "- Any other form of observational / statistical data sets (the data  need not be labeled to be placed into a pandas data structure)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Primary data structures"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "- Series (1-dimensional)\n",
+    "- DataFrame (2-dimensional)\n",
+    "\n",
+    "For R users, DataFrame provides everything that R’s data.frame provides and much more.\n",
+    "\n",
+    "pandas is built on top of NumPy and is intended to integrate well within a scientific computing environment with many other 3rd party libraries."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Getting started"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "import pandas as pd\n",
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 97,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "u'0.20.1'"
+      ]
+     },
+     "execution_count": 97,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "pd.__version__"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Object creation"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Series"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0    1.0\n",
+       "1    3.0\n",
+       "2    5.0\n",
+       "3    NaN\n",
+       "4    6.0\n",
+       "5    8.0\n",
+       "dtype: float64"
+      ]
+     },
+     "execution_count": 98,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Create Series with missing data\n",
+    "s = pd.Series([1,3,5,np.nan,6,8])\n",
+    "s"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## DataFrame"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "DatetimeIndex(['2017-09-01', '2017-09-02', '2017-09-03', '2017-09-04',\n",
+       "               '2017-09-05', '2017-09-06'],\n",
+       "              dtype='datetime64[ns]', freq='D')"
+      ]
+     },
+     "execution_count": 99,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Create DatetimeIndex for 6 days\n",
+    "dates = pd.date_range('20170901', periods=6)\n",
+    "dates"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 100,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([[ 0.23051414, -0.28580632,  0.35457973,  1.63813223],\n",
+       "       [ 1.46610552,  0.36143299, -0.69967186,  0.5909181 ],\n",
+       "       [ 0.85840437, -0.20824091, -0.32334378, -0.26983698],\n",
+       "       [ 0.26830511, -0.78065576, -0.22962856,  0.77808124],\n",
+       "       [ 1.83936044,  1.14887577,  1.2779539 ,  0.70010126],\n",
+       "       [-1.19054289,  0.91047078, -0.0720562 , -0.41625165]])"
+      ]
+     },
+     "execution_count": 100,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Create 6x4 NP array with random values\n",
+    "ran_values = np.random.randn(6,4)\n",
+    "ran_values"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "df = pd.DataFrame(ran_values, columns=list('ABDC'))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 102,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>0.354580</td>\n",
+       "      <td>1.638132</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>0.700101</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>5</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>0.910471</td>\n",
+       "      <td>-0.072056</td>\n",
+       "      <td>-0.416252</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "          A         B         D         C\n",
+       "0  0.230514 -0.285806  0.354580  1.638132\n",
+       "1  1.466106  0.361433 -0.699672  0.590918\n",
+       "2  0.858404 -0.208241 -0.323344 -0.269837\n",
+       "3  0.268305 -0.780656 -0.229629  0.778081\n",
+       "4  1.839360  1.148876  1.277954  0.700101\n",
+       "5 -1.190543  0.910471 -0.072056 -0.416252"
+      ]
+     },
+     "execution_count": 102,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 103,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "df.set_index(dates, inplace=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 104,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-01</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>0.354580</td>\n",
+       "      <td>1.638132</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>0.700101</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-06</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>0.910471</td>\n",
+       "      <td>-0.072056</td>\n",
+       "      <td>-0.416252</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-01  0.230514 -0.285806  0.354580  1.638132\n",
+       "2017-09-02  1.466106  0.361433 -0.699672  0.590918\n",
+       "2017-09-03  0.858404 -0.208241 -0.323344 -0.269837\n",
+       "2017-09-04  0.268305 -0.780656 -0.229629  0.778081\n",
+       "2017-09-05  1.839360  1.148876  1.277954  0.700101\n",
+       "2017-09-06 -1.190543  0.910471 -0.072056 -0.416252"
+      ]
+     },
+     "execution_count": 104,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 105,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>C</th>\n",
+       "      <th>D</th>\n",
+       "      <th>E</th>\n",
+       "      <th>F</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2017-09-20</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>LUMC</td>\n",
+       "      <td>researcher</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2017-09-20</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>EMC</td>\n",
+       "      <td>researcher</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2017-09-20</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>LUMC</td>\n",
+       "      <td>researcher</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2017-09-20</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>EMC</td>\n",
+       "      <td>researcher</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "     A          B    C  D     E           F\n",
+       "0  1.0 2017-09-20  1.0  3  LUMC  researcher\n",
+       "1  1.0 2017-09-20  1.0  3   EMC  researcher\n",
+       "2  1.0 2017-09-20  1.0  3  LUMC  researcher\n",
+       "3  1.0 2017-09-20  1.0  3   EMC  researcher"
+      ]
+     },
+     "execution_count": 105,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Create DataFrame by using a dict of series-like objects.\n",
+    "df2 = pd.DataFrame({ 'A' : 1.,\n",
+    "                     'B' : pd.Timestamp('20170920'),\n",
+    "                     'C' : pd.Series(1, index=list(range(4)), dtype='float32'),\n",
+    "                     'D' : np.array([3] * 4, dtype='int32'),\n",
+    "                     'E' : pd.Categorical([\"LUMC\",\"EMC\",\"LUMC\",\"EMC\"]),\n",
+    "                     'F' : 'researcher'\n",
+    "                   })\n",
+    "df2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 106,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "A           float64\n",
+       "B    datetime64[ns]\n",
+       "C           float32\n",
+       "D             int32\n",
+       "E          category\n",
+       "F            object\n",
+       "dtype: object"
+      ]
+     },
+     "execution_count": 106,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df2.dtypes"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Tab completion"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 107,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "# df.<TAB> shows attributes and column names"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Exploring data"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Top (head) and bottom (tail) of data"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 108,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-01</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>0.354580</td>\n",
+       "      <td>1.638132</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>0.700101</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-01  0.230514 -0.285806  0.354580  1.638132\n",
+       "2017-09-02  1.466106  0.361433 -0.699672  0.590918\n",
+       "2017-09-03  0.858404 -0.208241 -0.323344 -0.269837\n",
+       "2017-09-04  0.268305 -0.780656 -0.229629  0.778081\n",
+       "2017-09-05  1.839360  1.148876  1.277954  0.700101"
+      ]
+     },
+     "execution_count": 108,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 109,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>0.700101</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-06</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>0.910471</td>\n",
+       "      <td>-0.072056</td>\n",
+       "      <td>-0.416252</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-05  1.839360  1.148876  1.277954  0.700101\n",
+       "2017-09-06 -1.190543  0.910471 -0.072056 -0.416252"
+      ]
+     },
+     "execution_count": 109,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.tail(2)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Meta data"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 110,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "DatetimeIndex(['2017-09-01', '2017-09-02', '2017-09-03', '2017-09-04',\n",
+       "               '2017-09-05', '2017-09-06'],\n",
+       "              dtype='datetime64[ns]', freq='D')"
+      ]
+     },
+     "execution_count": 110,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.index"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 111,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Index([u'A', u'B', u'D', u'C'], dtype='object')"
+      ]
+     },
+     "execution_count": 111,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.columns"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 112,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([[ 0.23051414, -0.28580632,  0.35457973,  1.63813223],\n",
+       "       [ 1.46610552,  0.36143299, -0.69967186,  0.5909181 ],\n",
+       "       [ 0.85840437, -0.20824091, -0.32334378, -0.26983698],\n",
+       "       [ 0.26830511, -0.78065576, -0.22962856,  0.77808124],\n",
+       "       [ 1.83936044,  1.14887577,  1.2779539 ,  0.70010126],\n",
+       "       [-1.19054289,  0.91047078, -0.0720562 , -0.41625165]])"
+      ]
+     },
+     "execution_count": 112,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.values"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Basic statistics"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 113,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>count</th>\n",
+       "      <td>6.000000</td>\n",
+       "      <td>6.000000</td>\n",
+       "      <td>6.000000</td>\n",
+       "      <td>6.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>mean</th>\n",
+       "      <td>0.578691</td>\n",
+       "      <td>0.191013</td>\n",
+       "      <td>0.051306</td>\n",
+       "      <td>0.503524</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>std</th>\n",
+       "      <td>1.077292</td>\n",
+       "      <td>0.747672</td>\n",
+       "      <td>0.692115</td>\n",
+       "      <td>0.755390</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>min</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>-0.416252</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25%</th>\n",
+       "      <td>0.239962</td>\n",
+       "      <td>-0.266415</td>\n",
+       "      <td>-0.299915</td>\n",
+       "      <td>-0.054648</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>50%</th>\n",
+       "      <td>0.563355</td>\n",
+       "      <td>0.076596</td>\n",
+       "      <td>-0.150842</td>\n",
+       "      <td>0.645510</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>75%</th>\n",
+       "      <td>1.314180</td>\n",
+       "      <td>0.773211</td>\n",
+       "      <td>0.247921</td>\n",
+       "      <td>0.758586</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>max</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>1.638132</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "              A         B         D         C\n",
+       "count  6.000000  6.000000  6.000000  6.000000\n",
+       "mean   0.578691  0.191013  0.051306  0.503524\n",
+       "std    1.077292  0.747672  0.692115  0.755390\n",
+       "min   -1.190543 -0.780656 -0.699672 -0.416252\n",
+       "25%    0.239962 -0.266415 -0.299915 -0.054648\n",
+       "50%    0.563355  0.076596 -0.150842  0.645510\n",
+       "75%    1.314180  0.773211  0.247921  0.758586\n",
+       "max    1.839360  1.148876  1.277954  1.638132"
+      ]
+     },
+     "execution_count": 113,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.describe()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Transposing data"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 114,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>2017-09-01 00:00:00</th>\n",
+       "      <th>2017-09-02 00:00:00</th>\n",
+       "      <th>2017-09-03 00:00:00</th>\n",
+       "      <th>2017-09-04 00:00:00</th>\n",
+       "      <th>2017-09-05 00:00:00</th>\n",
+       "      <th>2017-09-06 00:00:00</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>A</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>-1.190543</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>B</th>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>0.910471</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>D</th>\n",
+       "      <td>0.354580</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>-0.072056</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>C</th>\n",
+       "      <td>1.638132</td>\n",
+       "      <td>0.590918</td>\n",
+       "      <td>-0.269837</td>\n",
+       "      <td>0.778081</td>\n",
+       "      <td>0.700101</td>\n",
+       "      <td>-0.416252</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "   2017-09-01  2017-09-02  2017-09-03  2017-09-04  2017-09-05  2017-09-06\n",
+       "A    0.230514    1.466106    0.858404    0.268305    1.839360   -1.190543\n",
+       "B   -0.285806    0.361433   -0.208241   -0.780656    1.148876    0.910471\n",
+       "D    0.354580   -0.699672   -0.323344   -0.229629    1.277954   -0.072056\n",
+       "C    1.638132    0.590918   -0.269837    0.778081    0.700101   -0.416252"
+      ]
+     },
+     "execution_count": 114,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.T"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Sorting"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 121,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>C</th>\n",
+       "      <th>D</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-01</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>1.638132</td>\n",
+       "      <td>0.354580</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>0.590918</td>\n",
+       "      <td>-0.699672</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.269837</td>\n",
+       "      <td>-0.323344</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>0.778081</td>\n",
+       "      <td>-0.229629</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>0.700101</td>\n",
+       "      <td>1.277954</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-06</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>0.910471</td>\n",
+       "      <td>-0.416252</td>\n",
+       "      <td>-0.072056</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         C         D\n",
+       "2017-09-01  0.230514 -0.285806  1.638132  0.354580\n",
+       "2017-09-02  1.466106  0.361433  0.590918 -0.699672\n",
+       "2017-09-03  0.858404 -0.208241 -0.269837 -0.323344\n",
+       "2017-09-04  0.268305 -0.780656  0.778081 -0.229629\n",
+       "2017-09-05  1.839360  1.148876  0.700101  1.277954\n",
+       "2017-09-06 -1.190543  0.910471 -0.416252 -0.072056"
+      ]
+     },
+     "execution_count": 121,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Sort on axis\n",
+    "df.sort_index(axis=1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 116,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-01</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>0.354580</td>\n",
+       "      <td>1.638132</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-06</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>0.910471</td>\n",
+       "      <td>-0.072056</td>\n",
+       "      <td>-0.416252</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>0.700101</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-04  0.268305 -0.780656 -0.229629  0.778081\n",
+       "2017-09-01  0.230514 -0.285806  0.354580  1.638132\n",
+       "2017-09-03  0.858404 -0.208241 -0.323344 -0.269837\n",
+       "2017-09-02  1.466106  0.361433 -0.699672  0.590918\n",
+       "2017-09-06 -1.190543  0.910471 -0.072056 -0.416252\n",
+       "2017-09-05  1.839360  1.148876  1.277954  0.700101"
+      ]
+     },
+     "execution_count": 116,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Sort by value\n",
+    "df.sort_values(by='B')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Data Selection"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Label based"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 125,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2017-09-01    0.230514\n",
+       "2017-09-02    1.466106\n",
+       "2017-09-03    0.858404\n",
+       "2017-09-04    0.268305\n",
+       "2017-09-05    1.839360\n",
+       "2017-09-06   -1.190543\n",
+       "Freq: D, Name: A, dtype: float64"
+      ]
+     },
+     "execution_count": 125,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Select column, which returns a series\n",
+    "df['A']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 130,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-02  1.466106  0.361433 -0.699672  0.590918\n",
+       "2017-09-03  0.858404 -0.208241 -0.323344 -0.269837\n",
+       "2017-09-04  0.268305 -0.780656 -0.229629  0.778081"
+      ]
+     },
+     "execution_count": 130,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Row based\n",
+    "df[1:4]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 135,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-02  1.466106  0.361433 -0.699672  0.590918\n",
+       "2017-09-03  0.858404 -0.208241 -0.323344 -0.269837\n",
+       "2017-09-04  0.268305 -0.780656 -0.229629  0.778081"
+      ]
+     },
+     "execution_count": 135,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Or index based\n",
+    "df['20170902':'20170904']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 138,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "A    1.466106\n",
+       "B    0.361433\n",
+       "D   -0.699672\n",
+       "C    0.590918\n",
+       "Name: 2017-09-02 00:00:00, dtype: float64"
+      ]
+     },
+     "execution_count": 138,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Cross section using a label\n",
+    "df.loc['2017-09-02']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 145,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-01</th>\n",
+       "      <td>0.230514</td>\n",
+       "      <td>-0.285806</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>0.268305</td>\n",
+       "      <td>-0.780656</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.839360</td>\n",
+       "      <td>1.148876</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-06</th>\n",
+       "      <td>-1.190543</td>\n",
+       "      <td>0.910471</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B\n",
+       "2017-09-01  0.230514 -0.285806\n",
+       "2017-09-02  1.466106  0.361433\n",
+       "2017-09-03  0.858404 -0.208241\n",
+       "2017-09-04  0.268305 -0.780656\n",
+       "2017-09-05  1.839360  1.148876\n",
+       "2017-09-06 -1.190543  0.910471"
+      ]
+     },
+     "execution_count": 145,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Multi access selection based on label\n",
+    "df.loc[:,['A','B']]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 149,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>B</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   B         C\n",
+       "2017-09-02  0.361433  0.590918\n",
+       "2017-09-03 -0.208241 -0.269837\n",
+       "2017-09-04 -0.780656  0.778081"
+      ]
+     },
+     "execution_count": 149,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Multi dimension label slicing\n",
+    "df.loc['20170902':'20170904',['B','C']]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 151,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "A    1.466106\n",
+       "B    0.361433\n",
+       "Name: 2017-09-02 00:00:00, dtype: float64"
+      ]
+     },
+     "execution_count": 151,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Reduced dimension of return object for single rows\n",
+    "df.loc['20170902',['A','B']]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 153,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1.4661055188464265"
+      ]
+     },
+     "execution_count": 153,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Scalar values\n",
+    "df.loc['20170902','A']"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Position based\n",
+    "The semantics follow closely python and numpy slicing. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 157,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "A    0.268305\n",
+       "B   -0.780656\n",
+       "D   -0.229629\n",
+       "C    0.778081\n",
+       "Name: 2017-09-04 00:00:00, dtype: float64"
+      ]
+     },
+     "execution_count": 157,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Row\n",
+    "df.iloc[3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 163,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>-0.229629</td>\n",
+       "      <td>0.778081</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.277954</td>\n",
+       "      <td>0.700101</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   D         C\n",
+       "2017-09-04 -0.229629  0.778081\n",
+       "2017-09-05  1.277954  0.700101"
+      ]
+     },
+     "execution_count": 163,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Multi dimension\n",
+    "df.iloc[3:5,2:4]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 164,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>A</th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "      <th>C</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>1.466106</td>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "      <td>0.590918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>0.858404</td>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "      <td>-0.269837</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   A         B         D         C\n",
+       "2017-09-02  1.466106  0.361433 -0.699672  0.590918\n",
+       "2017-09-03  0.858404 -0.208241 -0.323344 -0.269837"
+      ]
+     },
+     "execution_count": 164,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.iloc[1:3,:]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 165,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style>\n",
+       "    .dataframe thead tr:only-child th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: left;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>B</th>\n",
+       "      <th>D</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>2017-09-01</th>\n",
+       "      <td>-0.285806</td>\n",
+       "      <td>0.354580</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-02</th>\n",
+       "      <td>0.361433</td>\n",
+       "      <td>-0.699672</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-03</th>\n",
+       "      <td>-0.208241</td>\n",
+       "      <td>-0.323344</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-04</th>\n",
+       "      <td>-0.780656</td>\n",
+       "      <td>-0.229629</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-05</th>\n",
+       "      <td>1.148876</td>\n",
+       "      <td>1.277954</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2017-09-06</th>\n",
+       "      <td>0.910471</td>\n",
+       "      <td>-0.072056</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                   B         D\n",
+       "2017-09-01 -0.285806  0.354580\n",
+       "2017-09-02  0.361433 -0.699672\n",
+       "2017-09-03 -0.208241 -0.323344\n",
+       "2017-09-04 -0.780656 -0.229629\n",
+       "2017-09-05  1.148876  1.277954\n",
+       "2017-09-06  0.910471 -0.072056"
+      ]
+     },
+     "execution_count": 165,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.iloc[:,1:3]"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 166,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "u'/Users/mark'"
+       "0.36143299164038073"
       ]
      },
-     "execution_count": 1,
+     "execution_count": 166,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "%pwd"
+    "df.iloc[1,1]"
    ]
   },
   {