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]" ] }, {