Skip to content

Instantly share code, notes, and snippets.

@butsugiri
Created September 4, 2016 12:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save butsugiri/d6cc987a479b3f4b88cd8c142d451a74 to your computer and use it in GitHub Desktop.
Save butsugiri/d6cc987a479b3f4b88cd8c142d451a74 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 89,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy.random as rnd\n",
"import numpy as np\n",
"import matplotlib\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"close_px_all = pd.read_csv('ch09/toy.csv', parse_dates=True)"
]
},
{
"cell_type": "code",
"execution_count": 150,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"close_px_all[\"Date\"] = pd.to_datetime(close_px_all[\"Date\"])"
]
},
{
"cell_type": "code",
"execution_count": 160,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1129b5a10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from datetime import datetime\n",
"to_plot = close_px_all.set_index([\"Name\", \"Date\"]).ix[\"Shun\"].ix[\"2003\"].reset_index().groupby(\"Date\").apply(func)[\"Date\"]\n",
"date = datetime(2003,1,3)\n",
"fig = plt.figure(figsize=(10,10))\n",
"ax = fig.add_subplot(1,1,1)\n",
"ax.annotate('test', xy=(date, to_plot.asof(date)), xytext=(date, to_plot.asof(date)))\n",
"to_plot.plot(ax=ax)\n",
"plt.plot(('2003-01-03','2003-01-03'),(0,2), 'red', linestyle=\"dotted\")\n",
"plt.ylim(0,2.1)\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 152,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"to_plot.asof(date)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def func(df):\n",
" return df.count()\n",
" \n",
" pass"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Date\n",
"2003-01-02 1\n",
"2003-01-03 2\n",
"2003-01-05 2\n",
"Name: Date, dtype: int64"
]
},
"execution_count": 147,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"to_plot"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Name</th>\n",
" <th>Company</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2003-01-02</td>\n",
" <td>Shun</td>\n",
" <td>Register</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2003-01-03</td>\n",
" <td>Shun</td>\n",
" <td>Quit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2003-01-03</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2003-01-05</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2003-01-05</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2003-01-02</td>\n",
" <td>John</td>\n",
" <td>Quit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2003-01-05</td>\n",
" <td>John</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2003-01-06</td>\n",
" <td>John</td>\n",
" <td>Sad</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Name Company\n",
"0 2003-01-02 Shun Register\n",
"1 2003-01-03 Shun Quit\n",
"2 2003-01-03 Shun Happy\n",
"3 2003-01-05 Shun Happy\n",
"4 2003-01-05 Shun Happy\n",
"5 2003-01-02 John Quit\n",
"6 2003-01-05 John Happy\n",
"7 2003-01-06 John Sad"
]
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"close_px_all"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"vs = set(close_px_all[\"Company\"].values)"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def func2(df):\n",
" for v in vs:\n",
" df[v] = df[df[\"Company\"] == v].count()[\"Company\"]\n",
" return df\n",
" \n",
" pass"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Name</th>\n",
" <th>Company</th>\n",
" <th>Quit</th>\n",
" <th>Register</th>\n",
" <th>Sad</th>\n",
" <th>Happy</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2003-01-02</td>\n",
" <td>Shun</td>\n",
" <td>Register</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2003-01-03</td>\n",
" <td>Shun</td>\n",
" <td>Quit</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2003-01-03</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2003-01-05</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2003-01-05</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2003-01-02</td>\n",
" <td>John</td>\n",
" <td>Quit</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2003-01-05</td>\n",
" <td>John</td>\n",
" <td>Happy</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2003-01-06</td>\n",
" <td>John</td>\n",
" <td>Sad</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Name Company Quit Register Sad Happy\n",
"0 2003-01-02 Shun Register 1 1 0 3\n",
"1 2003-01-03 Shun Quit 1 1 0 3\n",
"2 2003-01-03 Shun Happy 1 1 0 3\n",
"3 2003-01-05 Shun Happy 1 1 0 3\n",
"4 2003-01-05 Shun Happy 1 1 0 3\n",
"5 2003-01-02 John Quit 1 0 1 1\n",
"6 2003-01-05 John Happy 1 0 1 1\n",
"7 2003-01-06 John Sad 1 0 1 1"
]
},
"execution_count": 130,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"close_px_all.groupby(\"Name\").apply(func2)"
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2016-09-04 10:58:37-- http://aima.cs.berkeley.edu/data/iris.csv\n",
"Resolving aima.cs.berkeley.edu... 128.32.244.183\n",
"Connecting to aima.cs.berkeley.edu|128.32.244.183|:80... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 3800 (3.7K)\n",
"Saving to: ‘iris.csv’\n",
"\n",
"iris.csv 100%[===================>] 3.71K --.-KB/s in 0s \n",
"\n",
"2016-09-04 10:58:38 (57.5 MB/s) - ‘iris.csv’ saved [3800/3800]\n",
"\n"
]
}
],
"source": [
"!wget http://aima.cs.berkeley.edu/data/iris.csv"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"COPYING*\t\tch02.ipynb* ch06.ipynb* ch09/ ch12.ipynb*\r\n",
"README.md*\t\tch03/\t ch07/\t ch09.ipynb* ch13/\r\n",
"Untitled.ipynb\t\tch04.ipynb* ch07.ipynb* ch10.ipynb* fec_study.ipynb*\r\n",
"appendix_python.ipynb*\tch05.ipynb* ch08/\t ch11/ iris.csv\r\n",
"ch02/\t\t\tch06/\t ch08.ipynb* ch11.ipynb*\r\n"
]
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": 182,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Company</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>2003-01-02</th>\n",
" <td>Shun</td>\n",
" <td>Anger</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-03</th>\n",
" <td>Shun</td>\n",
" <td>Quit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-03</th>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-05</th>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-05</th>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-11</th>\n",
" <td>Shun</td>\n",
" <td>Regret</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-15</th>\n",
" <td>Shun</td>\n",
" <td>iTunes</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-02</th>\n",
" <td>John</td>\n",
" <td>Quit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-05</th>\n",
" <td>John</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-06</th>\n",
" <td>John</td>\n",
" <td>Sad</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-07</th>\n",
" <td>John</td>\n",
" <td>Anger</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Name Company\n",
"Date \n",
"2003-01-02 Shun Anger\n",
"2003-01-03 Shun Quit\n",
"2003-01-03 Shun Happy\n",
"2003-01-05 Shun Happy\n",
"2003-01-05 Shun Happy\n",
"2003-01-11 Shun Regret\n",
"2003-01-15 Shun iTunes\n",
"2003-01-02 John Quit\n",
"2003-01-05 John Happy\n",
"2003-01-06 John Sad\n",
"2003-01-07 John Anger"
]
},
"execution_count": 182,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.read_csv(\"./ch09/toy.csv\", index_col=0, parse_dates=True)"
]
},
{
"cell_type": "code",
"execution_count": 193,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n",
"4\n",
"5\n",
"1\n",
"1\n",
"3\n",
"3\n",
"9\n",
"13\n"
]
}
],
"source": [
"for l in pd.read_csv(\"./ch09/toy.csv\", parse_dates=True, index_col=0).groupby(\"Name\"):\n",
" temp = None\n",
" for row in l[1].iterrows():\n",
" if not temp:\n",
" temp = row[0]\n",
" else:\n",
" print (row[0] - temp).days"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment