python-pour-finance/05-Sources-Données/.ipynb_checkpoints/2-Quandl-checkpoint.ipynb

959 lines
81 KiB
Plaintext
Raw Permalink Normal View History

2023-08-21 15:12:19 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Quandl\n",
"More info:\n",
"https://www.quandl.com/tools/python"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import quandl"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Make a Basic Data Call\n",
"This call gets the WTI Crude Oil price from the US Department of Energy:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"mydata = quandl.get(\"EIA/PET_RWTC_D\")"
]
},
{
"cell_type": "code",
"execution_count": 11,
"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>Value</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1986-01-02</th>\n",
" <td>25.56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1986-01-03</th>\n",
" <td>26.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1986-01-06</th>\n",
" <td>26.53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1986-01-07</th>\n",
" <td>25.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1986-01-08</th>\n",
" <td>25.87</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Value\n",
"Date \n",
"1986-01-02 25.56\n",
"1986-01-03 26.00\n",
"1986-01-06 26.53\n",
"1986-01-07 25.85\n",
"1986-01-08 25.87"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mydata.head()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x2ae067cab70>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAskAAAFiCAYAAAAEBkVdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeAVOXVBvDnnbKdhV12qQssTTpIEcWGCAp2TWxoEjUm\nGqMxxkRjiZpm4hcTNc3EjiZRLLEGO4IoIggiSpW2wC5tYdm+s9Pe74+Ze+femXun7057fv8wc+fO\nnXdhlz1z5rznCCkliIiIiIgowJLqBRARERERpRsGyUREREREQRgkExEREREFYZBMRERERBSEQTIR\nERERURAGyUREREREQRgkExEREREFYZBMRERERBSEQTIRERERURAGyUREREREQWypXgAAVFRUyOrq\n6lQvg4iIiIiy3Jo1aw5JKSsjnZcWQXJ1dTVWr16d6mUQERERUZYTQuyK5jyWWxARERERBWGQTERE\nREQUhEEyEREREVGQtKhJJiIiIqLkc7lcqK2thcPhSPVSul1BQQGqqqpgt9vjej6DZCIiIqIsVVtb\nix49eqC6uhpCiFQvp9tIKXH48GHU1tZi6NChcV2D5RZEREREWcrhcKB37945FSADgBACvXv3TiiD\nziCZiIiIKIvlWoCsSPTrZpBMRERERF1i1qxZeOedd3THHnroIVx33XWmzykpKenqZUWFQTIRERER\ndYn58+dj4cKFumMLFy7E/PnzU7Si6DFIJiIiIqIuceGFF2LRokVwOp0AgJqaGuzduxeTJ0/G7Nmz\nMWXKFEyYMAGvvfZayHOXLl2Ks88+W71/ww03YMGCBQCANWvWYObMmZg6dSrmzp2Lffv2JX3t7G5B\nRESUQ1weL655ZjVOPqoSV50Q365/yky/emMDNu5tTuo1xw4oxT3njDN9vLy8HNOnT8dbb72F8847\nDwsXLsTFF1+MwsJCvPLKKygtLcWhQ4dw3HHH4dxzz42qjtjlcuFHP/oRXnvtNVRWVuL555/HnXfe\niSeffDKZXxqDZCIiolyyamcDlmypx5It9bhiRjUsltzc1EXdRym5UILkJ554AlJK3HHHHVi2bBks\nFgvq6upw4MAB9OvXL+L1tmzZgvXr1+O0004DAHg8HvTv3z/p62aQTERElEOsmqDYKyUsYJCcK8Jl\nfLvSeeedh5/85Cf4/PPP0d7ejqlTp2LBggWor6/HmjVrYLfbUV1dHdKuzWazwev1qveVx6WUGDdu\n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\nfd2xrG5j07wBKMuCILn
"text/plain": [
"<matplotlib.figure.Figure at 0x2ae06810b70>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mydata.plot(figsize=(12,6))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that you need to know the \"Quandl code\" of each dataset you download. In the above example, it is \"EIA/PET_RWTC_D\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Change Formats\n",
"You can get the same data in a NumPy array:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mydata = quandl.get(\"EIA/PET_RWTC_D\", returns=\"numpy\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Specifying Data\n",
"\n",
"To set start and end dates:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mydata = quandl.get(\"FRED/GDP\", start_date=\"2001-12-31\", end_date=\"2005-12-31\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"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>Value</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2002-01-01</th>\n",
" <td>10834.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2002-04-01</th>\n",
" <td>10934.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2002-07-01</th>\n",
" <td>11037.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2002-10-01</th>\n",
" <td>11103.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-01</th>\n",
" <td>11230.1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Value\n",
"Date \n",
"2002-01-01 10834.4\n",
"2002-04-01 10934.8\n",
"2002-07-01 11037.1\n",
"2002-10-01 11103.8\n",
"2003-01-01 11230.1"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mydata.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mydata = quandl.get([\"NSE/OIL.1\", \"WIKI/AAPL.4\"])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"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>NSE/OIL - Open</th>\n",
" <th>WIKI/AAPL - Close</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1980-12-12</th>\n",
" <td>NaN</td>\n",
" <td>28.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1980-12-15</th>\n",
" <td>NaN</td>\n",
" <td>27.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1980-12-16</th>\n",
" <td>NaN</td>\n",
" <td>25.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1980-12-17</th>\n",
" <td>NaN</td>\n",
" <td>25.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1980-12-18</th>\n",
" <td>NaN</td>\n",
" <td>26.63</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" NSE/OIL - Open WIKI/AAPL - Close\n",
"Date \n",
"1980-12-12 NaN 28.75\n",
"1980-12-15 NaN 27.25\n",
"1980-12-16 NaN 25.25\n",
"1980-12-17 NaN 25.87\n",
"1980-12-18 NaN 26.63"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mydata.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Usage Limits\n",
"The Quandl Python module is free. If you would like to make more than 50 calls a day, however, you will need to create a free Quandl account and set your API key:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# EXAMPLE\n",
"quandl.ApiConfig.api_key = \"YOUR_KEY_HERE\"\n",
"mydata = quandl.get(\"FRED/GDP\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Database Codes\n",
"\n",
"Each database on Quandl has a short (3-to-6 character) database ID. For example:\n",
"\n",
"* CFTC Commitment of Traders Data: CFTC\n",
"* Core US Stock Fundamentals: SF1\n",
"* Federal Reserve Economic Data: FRED\n",
"\n",
"Each database contains many datasets. Datasets have their own IDs which are appended to their parent database ID, like this:\n",
"\n",
"* Commitment of traders for wheat: CFTC/W_F_ALL\n",
"* Market capitalization for Apple: SF1/AAPL_MARKETCAP\n",
"* US civilian unemployment rate: FRED/UNRATE\n",
"\n",
"You can download all dataset codes in a database in a single API call, by appending /codes to your database request. The call will return a ZIP file containing a CSV.\n",
"\n",
"### Databases\n",
"\n",
"\n",
"Every Quandl code has 2 parts: the database code (“WIKI”) which specifies where the data comes from, and the dataset code (“FB”) which identifies the specific time series you want.\n",
"\n",
"You can find Quandl codes on their website, using their data browser.\n",
"\n",
"https://www.quandl.com/search"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# FOR STOCKS"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mydata = quandl.get('WIKI/FB',start_date='2015-01-01',end_date='2017-01-01')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"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>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Ex-Dividend</th>\n",
" <th>Split Ratio</th>\n",
" <th>Adj. Open</th>\n",
" <th>Adj. High</th>\n",
" <th>Adj. Low</th>\n",
" <th>Adj. Close</th>\n",
" <th>Adj. Volume</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2015-01-02</th>\n",
" <td>78.58</td>\n",
" <td>78.9300</td>\n",
" <td>77.700</td>\n",
" <td>78.450</td>\n",
" <td>18177475.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>78.58</td>\n",
" <td>78.9300</td>\n",
" <td>77.700</td>\n",
" <td>78.450</td>\n",
" <td>18177475.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-05</th>\n",
" <td>77.98</td>\n",
" <td>79.2455</td>\n",
" <td>76.860</td>\n",
" <td>77.190</td>\n",
" <td>26452191.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>77.98</td>\n",
" <td>79.2455</td>\n",
" <td>76.860</td>\n",
" <td>77.190</td>\n",
" <td>26452191.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-06</th>\n",
" <td>77.23</td>\n",
" <td>77.5900</td>\n",
" <td>75.365</td>\n",
" <td>76.150</td>\n",
" <td>27399288.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>77.23</td>\n",
" <td>77.5900</td>\n",
" <td>75.365</td>\n",
" <td>76.150</td>\n",
" <td>27399288.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-07</th>\n",
" <td>76.76</td>\n",
" <td>77.3600</td>\n",
" <td>75.820</td>\n",
" <td>76.150</td>\n",
" <td>22045333.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>76.76</td>\n",
" <td>77.3600</td>\n",
" <td>75.820</td>\n",
" <td>76.150</td>\n",
" <td>22045333.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-08</th>\n",
" <td>76.74</td>\n",
" <td>78.2300</td>\n",
" <td>76.080</td>\n",
" <td>78.175</td>\n",
" <td>23960953.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>76.74</td>\n",
" <td>78.2300</td>\n",
" <td>76.080</td>\n",
" <td>78.175</td>\n",
" <td>23960953.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open High Low Close Volume Ex-Dividend \\\n",
"Date \n",
"2015-01-02 78.58 78.9300 77.700 78.450 18177475.0 0.0 \n",
"2015-01-05 77.98 79.2455 76.860 77.190 26452191.0 0.0 \n",
"2015-01-06 77.23 77.5900 75.365 76.150 27399288.0 0.0 \n",
"2015-01-07 76.76 77.3600 75.820 76.150 22045333.0 0.0 \n",
"2015-01-08 76.74 78.2300 76.080 78.175 23960953.0 0.0 \n",
"\n",
" Split Ratio Adj. Open Adj. High Adj. Low Adj. Close \\\n",
"Date \n",
"2015-01-02 1.0 78.58 78.9300 77.700 78.450 \n",
"2015-01-05 1.0 77.98 79.2455 76.860 77.190 \n",
"2015-01-06 1.0 77.23 77.5900 75.365 76.150 \n",
"2015-01-07 1.0 76.76 77.3600 75.820 76.150 \n",
"2015-01-08 1.0 76.74 78.2300 76.080 78.175 \n",
"\n",
" Adj. Volume \n",
"Date \n",
"2015-01-02 18177475.0 \n",
"2015-01-05 26452191.0 \n",
"2015-01-06 27399288.0 \n",
"2015-01-07 22045333.0 \n",
"2015-01-08 23960953.0 "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mydata.head()"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mydata = quandl.get('WIKI/FB.1',start_date='2015-01-01',end_date='2017-01-01')"
]
},
{
"cell_type": "code",
"execution_count": 26,
"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>Open</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2015-01-02</th>\n",
" <td>78.58</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-05</th>\n",
" <td>77.98</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-06</th>\n",
" <td>77.23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-07</th>\n",
" <td>76.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-08</th>\n",
" <td>76.74</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open\n",
"Date \n",
"2015-01-02 78.58\n",
"2015-01-05 77.98\n",
"2015-01-06 77.23\n",
"2015-01-07 76.76\n",
"2015-01-08 76.74"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mydata.head()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mydata = quandl.get('WIKI/FB.7',start_date='2015-01-01',end_date='2017-01-01')"
]
},
{
"cell_type": "code",
"execution_count": 28,
"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>Split Ratio</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2015-01-02</th>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-05</th>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-06</th>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-07</th>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-01-08</th>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Split Ratio\n",
"Date \n",
"2015-01-02 1.0\n",
"2015-01-05 1.0\n",
"2015-01-06 1.0\n",
"2015-01-07 1.0\n",
"2015-01-08 1.0"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mydata.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Housing Price Example\n",
"\n",
"**Zillow Home Value Index (Metro): Zillow Rental Index - All Homes - San Francisco, CA**\n",
"\n",
"The Zillow Home Value Index is Zillow's estimate of the median market value of zillow rental index - all homes within the metro of San Francisco, CA. This data is calculated by Zillow Real Estate Research (www.zillow.com/research) using their database of 110 million homes."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"houses = quandl.get('ZILLOW/M11_ZRIAH')"
]
},
{
"cell_type": "code",
"execution_count": 35,
"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>Value</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2010-11-30</th>\n",
" <td>2240.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-12-31</th>\n",
" <td>2253.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2011-01-31</th>\n",
" <td>2275.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2011-02-28</th>\n",
" <td>2304.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2011-03-31</th>\n",
" <td>2333.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Value\n",
"Date \n",
"2010-11-30 2240.0\n",
"2010-12-31 2253.0\n",
"2011-01-31 2275.0\n",
"2011-02-28 2304.0\n",
"2011-03-31 2333.0"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"houses.head()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x2ae07d12dd8>"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nETNbbmYLzewVM2tXb59
"text/plain": [
"<matplotlib.figure.Figure at 0x2ae07d12860>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"houses.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}