Skip to content

Instantly share code, notes, and snippets.

@suntong
Created December 5, 2015 20:44
Show Gist options
  • Save suntong/dedf95acc5d7253da768 to your computer and use it in GitHub Desktop.
Save suntong/dedf95acc5d7253da768 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"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>person</th>\n",
" <th>score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>AAA</td>\n",
" <td>-0.826664</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>BBB</td>\n",
" <td>-0.272566</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>CCC</td>\n",
" <td>-0.616078</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>DDD</td>\n",
" <td>-1.354531</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>EEE</td>\n",
" <td>0.871340</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>FFF</td>\n",
" <td>1.076733</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" person score\n",
"0 AAA -0.826664\n",
"1 BBB -0.272566\n",
"2 CCC -0.616078\n",
"3 DDD -1.354531\n",
"4 EEE 0.871340\n",
"5 FFF 1.076733"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame({'score':np.random.randn(6),\n",
" 'person':[x*3 for x in list('ABCDEF')]})\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 6,
"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>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>foo</td>\n",
" <td>one</td>\n",
" <td>0.126642</td>\n",
" <td>0.076797</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>bar</td>\n",
" <td>one</td>\n",
" <td>1.890603</td>\n",
" <td>-1.091927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>foo</td>\n",
" <td>two</td>\n",
" <td>0.165926</td>\n",
" <td>0.372946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>bar</td>\n",
" <td>three</td>\n",
" <td>1.957743</td>\n",
" <td>-1.225335</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>foo</td>\n",
" <td>two</td>\n",
" <td>-1.058914</td>\n",
" <td>-1.918918</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>bar</td>\n",
" <td>two</td>\n",
" <td>-0.689587</td>\n",
" <td>-0.920019</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>foo</td>\n",
" <td>one</td>\n",
" <td>0.523851</td>\n",
" <td>0.059292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>bar</td>\n",
" <td>three</td>\n",
" <td>1.181483</td>\n",
" <td>2.060387</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C D\n",
"0 foo one 0.126642 0.076797\n",
"1 bar one 1.890603 -1.091927\n",
"2 foo two 0.165926 0.372946\n",
"3 bar three 1.957743 -1.225335\n",
"4 foo two -1.058914 -1.918918\n",
"5 bar two -0.689587 -0.920019\n",
"6 foo one 0.523851 0.059292\n",
"7 bar three 1.181483 2.060387"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar']*2,\n",
" 'B' : ['one', 'one', 'two', 'three',\n",
" 'two', 'two', 'one', 'three'],\n",
" 'C' : np.random.randn(8),\n",
" 'D' : np.random.randn(8)})\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.text.Text at 0x71e2acbc18>,\n",
" <matplotlib.text.Text at 0x71e2ad80b8>,\n",
" <matplotlib.text.Text at 0x71e2b562e8>,\n",
" <matplotlib.text.Text at 0x71e2b56dd8>,\n",
" <matplotlib.text.Text at 0x71e2b5c908>,\n",
" <matplotlib.text.Text at 0x71e2b5e438>,\n",
" <matplotlib.text.Text at 0x71e2b5ef28>,\n",
" <matplotlib.text.Text at 0x71e2b64a58>]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nyzdu3KiioqJxDbJnzx75fD4Fg0GtXr1aOTk5ys/PH7Of1ztlXK/vlEiPF2nMz2zMz1zxPDeJ+UXK\nmIH9xhtv2B7E5/NJktLT01VSUqJjx46NK7ABAMAQx74Sv95+7EuXLqm/v1+SdPHiRX3xxReaPTv0\nC5sAAJDIbAX2p59+qsLCQh09elTr1q3T448/Lknq7OzUk08+KUkKBAJ66KGHVF5erqqqKhUVFWnx\n4sX2KwcAIIG4rLEO8QYAAFHHlc4AADAAgQ0AgAEIbAAADEBgAwBggLi7H/Z4NTc3q76+Xp2dnZKG\nzhUvLi6W3++PcmUYj+bmZnV2dmru3LlKSUkZXt7Y2KiCgoIoVuaMpqYmSdLcuXN1+vRpff7558rJ\nyVFhYWGUK3Pe5s2b9bvf/S7aZUyIv/zlLzp27Jhmz54dF2fHHD16VH6/X6mpqfrHP/6hnTt36m9/\n+5v8fr/WrVunKVNi4wIj4XrzzTdVUlKiGTNmRLuUa0rIo8R37typ2tpalZaWKjMzU5LU0dExvGzt\n2rVRrnDivPfee1qxYkW0y7DlzTff1Ntvvy2/368TJ06opqZGS5YskSRVVFTogw8+iHKF9mzfvl2N\njY26evWqFi1apKNHj2rBggX68ssvtXjxYv3iF7+IdolhW7du3ahlhw4d0oIFCyRJO3bsiHRJjlq5\ncuXw3Qj37t2rt99+WyUlJfriiy9UVFRk/N+W0tJSffjhh/J4PNqyZYsmT56spUuX6uDBgzpx4oS2\nb98e7RJtmT9/vpKTk/WjH/1IpaWl+vnPf6709PRol/UdKwHde++91uXLl0ct/+c//2mVlJREoaLI\nKSwsjHYJti1fvtzq6+uzLMuy/v73v1sVFRXW7t27LcuyrLKysmiW5ojly5dbV69etS5evGj95Cc/\nsXp7ey3LsqxLly5Zy5cvj3J19pSXl1ubNm2yDh48aB06dMg6ePCgtWjRIuvQoUPWoUOHol2ebd/f\n/iorK60LFy5YlmVZ/f39xq87y7KsZcuWDf9cXl4+4rkHHngg0uU4rqyszBoYGLA+//xz65lnnrEW\nLFhgrVmzxnr//feHfw+jKSG/Ene5XOrs7NTMmTNHLO/q6pLL5YpSVc65//77r/vcta4Lb5rBwcHh\nr8Fvu+02vfXWW9qwYYPa2trGvHOcCdxut9xu9/B/+qmpqZKkyZMnKynJ7MNO3nvvPb355pvasWOH\nNm/erLy8PN1000362c9+Fu3SHDE4OKhvv/1Wg4ODGhwcHP50dvPNN8vtdke5Ovtmz549/C3dj3/8\nYx07dkxz5szR2bNn5fGYHycul0tJSUlavHixFi9erCtXrqixsVG1tbX67W9/q4MHD0a1PvPf4TDU\n1NToscce06xZs4b3VbS1tam1tVVbtmyJcnX2XbhwQbt27dLUqVNHLLcsS6tWrYpSVc659dZbdfz4\nceXl5UmSUlJS9Prrr6umpkanTp2KcnX2TZo0SZcuXVJycrLef//94eW9vb3GB3ZSUpIee+wxLVu2\nTC+//LIyMjI0MDAQ7bIc09fXp8rKSlmWNfzBwOfzqb+/Py7+mXzppZf00ksv6U9/+pPS0tK0atUq\nTZ8+XTNmzNBLL70U7fJs+/d1NGnSJBUXF6u4uFiXLl2KUlXfSch92NLQf8JNTU3q6OiQJGVmZmrO\nnDlx8V9wTU2NKisrr3mDlU2bNmnbtm1RqMo57e3tcrvd8nq9o547fPiw5s+fH4WqnHP58mX94Ac/\nGLU8GAyqq6tLd955ZxSqmhifffaZvv76a/3617+OdikT6tKlSwoEArr99tujXYoj+vr6dO7cOV29\nelXTp09XRkZGtEtyxNmzZ5WdnR3tMq4rYQMbAACTmP39GgAACYLABgDAAAQ2AAAGILABADAAgQ0A\ngAH+H0yIliOASUsNAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x71e2aa0278>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = df.plot(kind='bar')\n",
"ax.set_xticklabels(df.index.format(names=False))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fixed version\n",
"http://stackoverflow.com/questions/34076177/"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAFSCAYAAAAuI9zWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGeZJREFUeJzt3X9wVPW9//HXcmKVJqFkzfKjXOsmC6u5FPhDvs5EOqGD\nYlIBIQJDO7Y44IidSqOMfp2SlpmrFv2OHZ22UzuVUfsdqoPj1Epr6dgZ6SB1+GHLrUUrLF+SzUWk\nQHAThwQsZHO+f3AvlkrYk82efe+e83z8B5yc83rzSXixe3I+ibiu6woAAJgYZR0AAIAwo4gBADBE\nEQMAYIgiBgDAEEUMAIAhihgAAEMVfpx0YCCrnp5TfpzaXE3NZwM7m8R85Y75yleQZ5OCP18sVp33\nx/ryiriiwvHjtCUhyLNJzFfumK98BXk2KfjzjQRvTQMAYIgiBgDAEEUMAIAhihgAAEMUMQAAhihi\nAAAM+fIc8XBks1l1dXVax/Csp6dKmUyfdQzfBH2+aHSGdQQAuIB5EXd1daqxsVtSnXWUYaiyDuCz\noM6XVirVoZqaidZBAAzBjxdn8Xi9HCf3c8yZzIf60Y+eUCq1T1VV1YpGo2pru1//9m9XFTTPvzIv\n4nPqJCWtQwAAjBX+xVlaO3dKicSUnEe2t/9v3XLLAj300KOSpI6Og8pkPgxLEQMA8D8K/eIs9+22\n//zPP6uiokK33tp6/vcSickFzDA0vlkLABB6nZ0Hdc01DSbXpogBADDkqYi3b9+ulpYWNTc3a8OG\nDX5nAgCgqOrqEkql9plcO2cRDw4O6pFHHtGzzz6r3/72t9qyZYs6OjqKkQ0AgKK47rr/pbNnz+rV\nVzef/72OjoPau/dt36+d85u19u7dq6uvvlqTJk2SJM2bN09bt25VIpHwPRwAIIzSBT5XzNORjz76\nA/3oR0/o+ef/ry6//HJNmPB53Xvv/QXMcnE5i/jYsWOaOPGT5y7Hjx+vd955x9dQAIBwisfrtXOn\n5OU7nb2JKR6v93TklVfW6uGHHyvQdb0rkceXCvm/H2AoB5VOO2W1c5jXjQiAoHAcx9Mzv0GSs4jH\njx+vI0eOnP/1sWPHNG7cuJwnjsWqPQWIRmcoleKeM/yXTjtqeb5FGmudxKNeKbUupWRyeM9Tev3a\nK1dBni/Is0nBny9fOYt42rRpOnTokD744APFYjFt2bJFTz75ZM4Td3ef9ByinLYcjMWqhzVbuQny\nfJlM37kSrrVO4l0m0zes9Qjy+knBni/Is0nhmC9fOYvYcRytW7dOK1eulOu6WrJkCd+oBQBAgXi6\nR9zU1KSmpia/swAAEDrsrAUAgKES+a5pAADsfgxiU9P1mjx5is6ePauKigo1N9+iZctuVyQSKWiW\ni6GIAQAlo6urU41PXVe4pxt6pZ337Mn5SNQVV4zWc8+9cO5Denv1H//Rrv7+ft15590FCjI0ihgA\nUFqMn24YO3asHnzwu7rrruVFKWLuEQMA8C8+//lJGhx01dPT4/u1eEWMcOm1DjAM5ZQVCCDXdYty\nHYoYoRGP1yu1LlV2W1wCKL4PPjisigpHNTU1vl+LIkZoOI6jZDIZ6N19AOTnn1/99vT06Ikn/o8W\nL15WlGtTxACA0lLI2zIez3XmzD+0cuXt5x9fammZp2XLbi9gkKFRxACAkhGP12vnPXsKfs5c3nhj\nd0GvORwUMQCgZITxxyDy+BIAAIYoYgAADFHEAAAYoogBADBEEQMAYIgiBgDAEEUMAIAhihgAAEMU\nMQAAhihiAAAMUcQAABiiiAEAMEQRAwBgiJ++hNDIZrM6cOCAMpk+6yi+6empYr4y5cds8Xi9HMcp\n6DlReBQxQqOrq1ONjd2S6qyj+KzKOoDPgjxfIWdLa+dOhe5HCpYjihghUycpaR0CKJJgvnsQNNwj\nBgDAEEUMAIAhihgAAEM5i7i9vV033HCDFixYUIw8AACESs4ivu222/Tss88WIwsAAKGTs4hnzpyp\nMWPGFCMLAAChw+NLRZbNZtXV1WkdY0hB3jDh0KH/knS5dQygSNKSYtYh4IFvRRyLVft1anMjme3A\ngQNqfOo6aWwBA8GbXum1115TXdD38wAkSXVKJBIltbNWkHthJHwr4u7uk36d2lQsVj2i2TKZvnMl\nXFu4TPCurq5ONTUTrWP4ZqSfn6UuyPP5MVsmc6qg5xuJIK+dNLL/ZHh6fMl13bwvAAAAhpaziO+/\n/3599atfVTqd1pe//GW9/PLLxcgFAEAo5Hxr+oknnihGDgAAQomdtQAAMEQRAwBgiCIGAMAQRQwA\ngCF21rLQax0gpPh7B1CCKOIii8frtfOePdYxhhSNBneLS0lKJBIltckBAFDEReY4jhKJKdYxhhT0\n3W9Kabs/AJC4RwwAgCmKGAAAQxQxAACGKGIAAAxRxAAAGKKIAQAwRBEDAGCIIgYAwBBFDACAIYoY\nAABDFDEAAIYoYgAADFHEAAAYoogBADBEEQMAYIgiBgDAUIV1AL9ls1l1dXUW7Hw9PVXKZPoKdr5S\nE/T5otEZ1hEA4AKBL+Kurk41NnZLqivgWasKeK5SFNT50kqlOlRTM9E6CACcF/giPqdOUtI6BAAA\nn8I9YgAADFHEAAAYoogBADCU8x7x0aNH9eCDD+rDDz/UqFGjtHTpUi1fvrwY2QAACLycRew4jtau\nXauGhgb19/frtttu06xZs5RIJIqRDwCAQMv51nQsFlNDQ4MkqbKyUolEQsePH/c9GAAAYTCse8SH\nDx/W/v37NX36dL/yAAAQKp6fI+7v71dbW5va29tVWVnpZyYfpK0DoCQcVDrtlMzOYfF4vRzHsY4B\nwFjEdV0310EDAwO6++671dTUpDvuuKMYuQomm82qo6PDOgZKQDqdVsvzLdJY6ySSeqXUupSSSTaa\nAcLO0yvi9vZ2TZ48eVgl3N19Mu9QhVbILQ1jseqSmq3QgjxfJtN3roRrrZOck8n0FfzvOsjrJwV7\nviDPJoVjvnzlvEe8Z88evfrqq9q1a5cWLVqk1tZWbd++Pe8LAgCAT+R8RXzddddp3759xcgCAEDo\nsLMWAACGKGIAAAxRxAAAGKKIAQAw5HlDDyAQeq0D/LdSyQHAHEWM0IjH65ValyqpnbUAgCJGaDiO\no2QyGehNBQCUH+4RAwBgiCIGAMAQRQwAgCGKGAAAQxQxAACGKGIAAAxRxAAAGKKIAQAwRBEDAGCI\nIgYAwBBFDACAIYoYAABDFDEAAIYoYgAADFHEAAAYoogBADBEEQMAYKjCOgDyl81m1dXVWdBz9vRU\nKZPpK+g5S0k0OsM6AgBcgCIuY11dnWps7JZUV+AzVxX4fKUirVSqQzU1E62DAMB5FHHZq5OUtA4B\nAMgT94gBADBEEQMAYCjnW9NnzpzR7bffrrNnzyqbzaq5uVmrV68uRjYAAAIvZxF/5jOf0caNGzV6\n9Ghls1l97WtfU1NTk6ZPn16MfAAABJqnt6ZHjx4t6dyr44GBAV8DAQAQJp6KeHBwUIsWLdKsWbM0\na9YsXg0DAFAgnh5fGjVqlDZv3qy+vj5961vf0sGDBzV58mS/s8GTtPH1s5IOGWfw6rCy2RusQwDA\nBSKu67rD+YCnnnpKn/3sZ7VixQq/MsGjbDarjo4O0wzpdFotz7dIY01jeNMrvdf+nhoaGqyTAMB5\nOV8RZzIZXXbZZaqurtbHH3+sHTt2aNWqVTlP3N19siABS00sVl1SsxV6l6jhzpfJ9J0r4dqCxvCN\n4zgltX6FVmqfn4UW5PmCPJsUjvnylbOIu7u79Z3vfEeDg4MaHBzULbfcotmzZ+d9QQAA8ImcRXzN\nNdfolVdeKUYWAABCh521AAAwRBEDAGCIIgYAwBBFDACAIYoYAABDnnbWAi6p1zqAR+WSE0CoUMQY\nkXi8Xjvv2WMdw7NEIqFM5pR1DAA4jyLGiDiOo0RiinUMzxzHsY4AABfgHjEAAIYoYgAADFHEAAAY\noogBADBEEQMAYIgiBgDAEEUMAIAhihgAAEMUMQAAhihiAAAMUcQAABiiiAEAMEQRAwBgiCIGAMAQ\nRQwAgCGKGAAAQxXWAYBiyWazOnDggDKZPusovunpqWK+MhXk2aSh54vH6+U4jkGi0kERIzS6ujrV\n2Ngtqc46is+qrAP4LMjzBXk26dPzpbVzp5RITDFJUyooYoRMnaSkdQgA5wX3XQCvuEcMAIAhihgA\nAEMUMQAAhjwX8eDgoFpbW/XNb37TzzwAAISK5yLeuHGjEomEn1kAAAgdT0V89OhRvfHGG1q6dKnf\neQAACBVPRfzoo4/qwQcfVCQS8TsPAAChkvM54m3btqm2tlYNDQ3avXt3MTIBw5bNZtXV1XnJYw4d\n+i9JlxcnEAAP0pJi1iHMRVzXdS91wJNPPqnf/OY3chxH//jHP9Tf36+5c+fq8ccfL1ZGIKcDBw7o\nmkeukcZe4qBe6bWvv6a6uqDvrAWUj0QiEfotLnMW8T9766239Nxzz+lnP/tZzmO7u0+OKFipisWq\nAzubVL7zdXT8PzW+cJ1Ue4mDTkipb6dUUzOxaLmKrVzXz6sgzxfk2aRwzJcvniMGAMDQsPaavv76\n63X99df7lQUAgNDhFTEAAIYoYgAADFHEAAAYoogBADA0rG/WAkpa7wj/HAAMUMQIhHi8Xjvv2ZPz\nuEQioUzmVBESAYA3FDECwXEcJRJTPB0HAKWEe8QAABiiiAEAMEQRAwBgiCIGAMAQRQwAgCGKGAAA\nQxQxAACGKGIAAAxRxAAAGKKIAQAwRBEDAGCIIgYAwBBFDACAIYoYAABDFDEAAIYoYgAADFVYBwCK\nJZvN6sCBA8pk+jx/TDxeL8dxfEwFIOwoYoRGV1enGhu7JdV5/Ii0du6UEokpfsYCEHIUMUKmTlJy\nGMd7f/UMAPngHjEAAIYoYgAADFHEAAAY8nSPeM6cOaqqqtKoUaNUUVGhX/7yl37nAgAgFDwVcSQS\n0S9+8Qt97nOf8zsPAACh4umtadd1NTg46HcWAABCx1MRRyIRrVy5UosXL9ZLL73kdyYAAELD01vT\nmzZt0rhx45TJZLRixQrV19dr5syZfmcDCiqbzUr6o6S0x484rEOHoj4mKryenqph7RxWboI8Xz6z\nsfNbMERc13WH8wE/+clPVFlZqRUrVviVCfDFvn379O+P/rs01joJUAC9UmpdSsnkcDaoQSnK+Yr4\n9OnTGhwcVGVlpU6dOqU333xTq1evznni7u6TBQlYamKx6sDOJgV7vo8+On2uhGutkwCFkcn0lc3X\na5D/bZHOzZevnEV84sQJrV69WpFIRNlsVgsWLNCXvvSlvC8IAAA+kbOIr7rqKv36178uRhYAAEKH\nnbUAADBEEQMAYIgiBgDAEEUMAIAhTxt6AIHRax0AKBA+lwODIkZoxOP1Sq1LBXZnJkmKRoO785QU\n7PnymS0er/cpDYqJIkZoOI6jZDIZ+E0FmK88BXk2XBr3iAEAMEQRAwBgiCIGAMAQRQwAgCGKGAAA\nQxQxAACGKGIAAAxRxAAAGKKIAQAwRBEDAGCIIgYAwBBFDACAIYoYAABDFDEAAIYoYgAADFHEAAAY\noogBADBUYR0A4ZHNZtXV1WmaIRqdYXp9APhXFDGKpqurU42N3ZLqjBKklUp1qKZmotH1AeDTKGIU\nWZ2kpHUIACgZ3CMGAMAQRQwAgCGKGAAAQ56K+OTJk2pra9NXvvIVzZs3T3/961/9zgUAQCh4+mat\n9evXa/bs2frxj3+sgYEBffzxx37nAgAgFHK+Iu7r69Of//xnLV68WJJUUVGhqqoq34MBABAGOV8R\nHz58WDU1NVq7dq3279+vL37xi/rud7+rK664ohj5EDhpw2sfVDrtKJPpM8zgr56eqrzni8fr5ThO\ngRMByCXiuq57qQPeffddLVu2TC+++KKmTZum9evXq7q6Wm1tbcXKiIDIZrPq6Ogwu346nVbL8y3S\nWLMIpatXSq1LKZnkGW+g2HK+Ip4wYYImTJigadOmSZKam5v1zDPP5Dxxd/fJkacrQbFYdWBnk/yf\nz3JXq0ym71wJ15pFKGmZTF/Jf24H+esvyLNJ4ZgvXznvEdfW1mrixIlKp8+9pbhr1y4lEom8LwgA\nAD7h6bumv/e97+mBBx7QwMCArrrqKj322GN+5wIAIBQ8FfG1116rl19+2e8sAACEDjtrAQBgiCIG\nAMAQRQwAgCGKGAAAQ56+WQsIjF7rACWKvxfADEWM0IjH65Valwr0FpfR6Mi2uARQfBQxQsNxHCWT\nycDv7hPk+YAg4h4xAACGKGIAAAxRxAAAGKKIAQAwRBEDAGCIIgYAwBBFDACAIYoYAABDFDEAAIYo\nYgAADFHEAAAYoogBADBEEQMAYIgiBgDAEEUMAIAhihgAAEMV1gEwctlsVl1dnQU5V09PlTKZvoKc\nqxRFozOsIwDABSjiAOjq6lRjY7ekugKdsapA5yk1aaVSHaqpmWgdBADOo4gDo05S0joEAGCYuEcM\nAIAhihgAAEMUMQAAhnLeI06n01qzZo0ikYhc19X777+ve++9V8uXLy9GPgAAAi1nEdfV1Wnz5s2S\npMHBQTU1NWnu3Lm+BwMAIAyG9db0jh079IUvfEETJ/L4BwAAhTCsIv7d736nefPm+ZUFAIDQ8fwc\n8dmzZ/WHP/xBDzzwgJ95kLe0dYAycFDptBPoncOCvjNakOcL8mzSyOaLx+vlOE6BE5UOz0W8fft2\nTZ06VdFo1NPxsVh13qFKXanNFo3OUCrVYR2j5KXTjlqeb5HGWicB4FmvlFqXUjIZ3A2LPBfxli1b\nNH/+fM8n7u4+mVegUheLVZfkbIXatrFU5yuETKbvXAnXWicBMByZTF/J/7s0khdonu4Rnz59Wjt2\n7OC7pQEAKDBPr4hHjx6tXbt2+Z0FAIDQYWctAAAMUcQAABiiiAEAMEQRAwBgyPPjS0Ag9FoHADAs\nIfiapYgRGvF4vVLrUoHevSgaDfbuTEGeL8izSSObLx6vL3Ca0kIRIzQcx1EymSz5jQFGIsgbskjB\nni/Is0nBn28kuEcMAIAhihgAAEMUMQAAhihiAAAMUcQAABiiiAEAMEQRAwBgiCIGAMBQxHVd1zoE\nAABhxStiAAAMUcQAABiiiAEAMEQRAwBgiCIGAMAQRQwAgKERF/Frr72m+fPnq6GhQX/729+GPG7O\nnDm69dZbtWjRIi1ZsmSkly0ar/Nt375dLS0tam5u1oYNG4qYcGQ++ugjrVy5Us3Nzbrzzjt18uTF\nf15oua2fl/X4/ve/r5tvvlkLFy7Uvn37ipwwf7lme+uttzRz5ky1traqtbVVP/3pTw1S5q+9vV03\n3HCDFixYMOQx5bp2uWYr97U7evSoli9frnnz5mnBggXauHHjRY8r1/XzMl9ea+iOUEdHh5tOp91v\nfOMb7rvvvjvkcXPmzHF7e3tHermi8zJfNpt1b7rpJvfw4cPumTNn3FtvvdU9ePBgkZPm5/HHH3c3\nbNjguq7rPv300+4PfvCDix5XTuvnZT22bdvm3nXXXa7ruu7bb7/tLl261CLqsHmZbffu3e7dd99t\nlHDk/vSnP7nvvfeeO3/+/Iv+ebmunevmnq3c1+748ePue++957qu6/b19bk333xzYL72XNfbfPms\n4YhfEdfX1ysej8vNsS+I67oaHBwc6eWKzst8e/fu1dVXX61Jkybpsssu07x587R169Yipszf1q1b\n1draKklqbW3V66+/ftHjymn9vKzH1q1btWjRIknSjBkzdPLkSZ04ccIi7rCU8+eaVzNnztSYMWOG\n/PNyXTsp92zlLhaLqaGhQZJUWVmpRCKh48ePX3BMOa+fl/nyUbR7xJFIRCtXrtTixYv10ksvFeuy\nRXHs2DFNnDjx/K/Hjx9fkMUphkwmo9raWknnPskymcxFjyun9fOyHsePH9eECRMuOObYsWNFy5gv\nr59rf/nLX7Rw4UKtWrVKBw8eLGZE35Xr2nkVlLU7fPiw9u/fr+nTp1/w+0FZv6Hmk4a/hhVeLrhi\nxYqL/o9lzZo1mjNnjpdTaNOmTRo3bpwymYxWrFih+vp6zZw509PH+q0Q85Wyoea77777PvV7kUjk\nouco5fXDhaZOnapt27Zp9OjReuONN3TPPffo97//vXUseBCUtevv71dbW5va29tVWVlpHafgLjVf\nPmvoqYh//vOf55/4v40bN06SFI1GNXfuXL3zzjsl8w/5SOcbP368jhw5cv7Xx44dOz9vKbjUfFde\neaVOnDih2tpadXd3KxqNXvS4Ul6/f+VlPcaNG6ejR4+e//XRo0c1fvz4omXMl5fZ/vkfhtmzZ+uh\nhx5Sb2+vxo4dW7ScfirXtfMiCGs3MDCgtrY2LVy4UDfddNOn/rzc1y/XfPmsYUHfmh7qPurp06fV\n398vSTp16pTefPNNTZkypZCXLoqh5ps2bZoOHTqkDz74QGfOnNGWLVt04403FjldfubMmaNf/epX\nkqRXXnnlornLbf28rMeNN96ozZs3S5LefvttjRkz5vxb9KXMy2z//O7H3r17Jams/iGXhv5ak8p3\n7f7HpWYLwtq1t7dr8uTJuuOOOy765+W+frnmy2cNR/zTl15//XU98sgj6unp0ZgxY3TttdfqmWee\n0fHjx7Vu3To9/fTTev/997V69WpFIhFls1ktWLBAq1atGslli8bLfNK5R0rWr18v13W1ZMmSspmv\nt7dX9913n/7+979r0qRJ+uEPf6gxY8aU/fpdbD1efPFFRSIRLVu2TJL08MMP649//KNGjx6txx57\nTFOnTjVO7U2u2V544QVt2rRJFRUVuuKKK7R27VrNmDHDOrZn999/v3bv3q3e3l7V1tbq29/+ts6e\nPRuItcs1W7mv3Z49e/T1r39dyWRSkUhEkUhEa9as0ZEjRwKxfl7my2cN+TGIAAAYYmctAAAMUcQA\nABiiiAEAMEQRAwBgiCIGAMAQRQwAgCGKGAAAQxQxAACG/j/wXx1U+e/O+wAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x71e2be2be0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = df.plot(kind='barh')\n",
"ax.invert_yaxis()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x71e2cc8fd0>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n25o6daoaGxvV2Nion/70pwYps9fU1KTbbrtNCxYsuOoxxbp2mWYr9rU7ceKEli9frnnz5mnBggXa\nsmXLFY8r1vXzMl9Wa+gO0dGjR91kMul+4xvfcN99992rHjdr1iy3p6dnqJfLOy/zpdNp94477nCP\nHTvmnjt3zr377rvdI0eO5Dlpdp555hl38+bNruu67vPPP+/+4Ac/uOJxxbR+XtZj9+7d7gMPPOC6\nruu+88477tKlSy2iDpqX2fbv3+8++OCDRgmH7k9/+pP73nvvufPnz7/inxfr2rlu5tmKfe06Ozvd\n9957z3Vd1+3t7XXvvPPOwHztua63+bJZwyHfEdfV1Skej8vNsC+I67oaGBgY6uXyzst8Bw8e1M03\n36wxY8Zo+PDhmjdvnnbt2pXHlNnbtWuXGhsbJUmNjY164403rnhcMa2fl/XYtWuXFi1aJEmaPHmy\nTp8+rVOnTlnEHZRi/lzzaurUqRoxYsRV/7xY107KPFuxi8ViamhokCSVlZXJcRx1dnZedkwxr5+X\n+bKRt2fEkUhEK1eu1OLFi/XKK6/k67J5cfLkSdXW1l789ahRo3xZnHxIpVKqqamRdOGTLJVKXfG4\nYlo/L+vR2dmp0aNHX3bMyZMn85YxW14/1/7yl79o4cKFWrVqlY4cOZLPiDlXrGvnVVDW7tixYzp8\n+LAmTZp02e8HZf2uNp80+DUs8XLBFStWXPF/LOvWrdOsWbO8nEJbt27VyJEjlUqltGLFCtXV1Wnq\n1KmePjbX/JivkF1tvocffvhffi8SiVzxHIW8frjchAkTtHv3bpWWlurNN9/U6tWr9fvf/946FjwI\nytr19fVp7dq1ampqUllZmXUc311rvmzW0FMR//znP88+8X8bOXKkJKm6ulqzZ8/W3/72t4L5h3yo\n840aNUrHjx+/+OuTJ09enLcQXGu+G2+8UadOnVJNTY26urpUXV19xeMKef3+f17WY+TIkTpx4sTF\nX584cUKjRo3KW8ZseZnt0/8wzJw5U48//rh6enpUWVmZt5y5VKxr50UQ1q6/v19r167VwoULdccd\nd/zLnxf7+mWaL5s19PWl6as9Rz179qz6+vokSWfOnNFbb72lcePG+XnpvLjafBMnTlRHR4c+/PBD\nnTt3Tjt27NDtt9+e53TZmTVrll577TVJ0rZt266Yu9jWz8t63H777dq+fbsk6Z133tGIESMuvkRf\nyLzM9ulXPw4ePChJRfUPuXT1rzWpeNfu/7nWbEFYu6amJo0dO1b33XffFf+82Ncv03zZrOGQf/rS\nG2+8oSeffFLd3d0aMWKEbrnlFr3wwgvq7OzUhg0b9Pzzz+uDDz7QmjVrFIlElE6ntWDBAq1atWoo\nl80bL/NJF95SsnHjRrmuqyVLlhTNfD09PXr44Yf1j3/8Q2PGjNEPf/hDjRgxoujX70rr8fLLLysS\niWjZsmWSpCeeeEJ//OMfVVpaqqeffloTJkwwTu1Nptl++ctfauvWrSopKdH111+v9evXa/Lkydax\nPXvkkUe0f/9+9fT0qKamRt/+9rd1/vz5QKxdptmKfe0OHDigr3/966qvr1ckElEkEtG6det0/Pjx\nQKyfl/myWUN+DCIAAIbYWQsAAEMUMQAAhihiAAAMUcQAABiiiAEAMEQRAwBgiCIGAMAQRQwAgKH/\nC+OYHwqr2KKrAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x71e2b9c208>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Wrong, the chart is upside-down\n",
"df.plot(kind='barh')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\Programs\\Anaconda3\\lib\\site-packages\\ipykernel\\__main__.py:2: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)\n",
" from ipykernel import kernelapp as app\n"
]
},
{
"data": {
"text/html": [
"<div>\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>0</th>\n",
" <td>foo</td>\n",
" <td>one</td>\n",
" <td>0.126642</td>\n",
" <td>0.076797</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>foo</td>\n",
" <td>one</td>\n",
" <td>0.523851</td>\n",
" <td>0.059292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>foo</td>\n",
" <td>two</td>\n",
" <td>0.165926</td>\n",
" <td>0.372946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>foo</td>\n",
" <td>two</td>\n",
" <td>-1.058914</td>\n",
" <td>-1.918918</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>bar</td>\n",
" <td>one</td>\n",
" <td>1.890603</td>\n",
" <td>-1.091927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>bar</td>\n",
" <td>three</td>\n",
" <td>1.957743</td>\n",
" <td>-1.225335</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>bar</td>\n",
" <td>three</td>\n",
" <td>1.181483</td>\n",
" <td>2.060387</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>bar</td>\n",
" <td>two</td>\n",
" <td>-0.689587</td>\n",
" <td>-0.920019</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C D\n",
"0 foo one 0.126642 0.076797\n",
"6 foo one 0.523851 0.059292\n",
"2 foo two 0.165926 0.372946\n",
"4 foo two -1.058914 -1.918918\n",
"1 bar one 1.890603 -1.091927\n",
"3 bar three 1.957743 -1.225335\n",
"7 bar three 1.181483 2.060387\n",
"5 bar two -0.689587 -0.920019"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Sort dataframe by multiple columns\n",
"df = df.sort(['A','B'],ascending=[0,1])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>foo</td>\n",
" <td>one</td>\n",
" <td>0.126642</td>\n",
" <td>0.076797</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>foo</td>\n",
" <td>one</td>\n",
" <td>0.523851</td>\n",
" <td>0.059292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>foo</td>\n",
" <td>two</td>\n",
" <td>0.165926</td>\n",
" <td>0.372946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>foo</td>\n",
" <td>two</td>\n",
" <td>-1.058914</td>\n",
" <td>-1.918918</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>bar</td>\n",
" <td>one</td>\n",
" <td>1.890603</td>\n",
" <td>-1.091927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>bar</td>\n",
" <td>three</td>\n",
" <td>1.957743</td>\n",
" <td>-1.225335</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>bar</td>\n",
" <td>three</td>\n",
" <td>1.181483</td>\n",
" <td>2.060387</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>bar</td>\n",
" <td>two</td>\n",
" <td>-0.689587</td>\n",
" <td>-0.920019</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C D\n",
"0 foo one 0.126642 0.076797\n",
"6 foo one 0.523851 0.059292\n",
"2 foo two 0.165926 0.372946\n",
"4 foo two -1.058914 -1.918918\n",
"1 bar one 1.890603 -1.091927\n",
"3 bar three 1.957743 -1.225335\n",
"7 bar three 1.181483 2.060387\n",
"5 bar two -0.689587 -0.920019"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.set_index(['A', 'B'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x57b0464f28>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD+CAYAAAAwAx7XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFwtJREFUeJzt3X+Q3HWd5/HnMKNgkgmZKRt/IHdDkLxxq84sG5RfOV0o\nd/XY5YBd1y120Vsw/kDUA6+2ziwb69wSy9IFBXX11hB/LByluLIIcYFTkCIpFnc5dKWOeieahJwl\nStiZkMThRzLM/dEdqxky093f/s70zDfPR1Uq/f1+P/35vLun59Xf+f7sm5ycRJJUPUf0ugBJ0uww\n4CWpogx4SaooA16SKsqAl6SKMuAlqaIGijwpIgaADcAI8GLgqsy8rWn55cAa4PHGrPdk5tbuSpUk\ndaJQwAMXAU9k5jsiYgj4IXBb0/JVwNsz86FuC5QkFVM04L8B3Nx4fASwf8ryVcDaiHgFsDEzP1Fw\nHElSQYW2wWfmeGb+KiIGqQf9lVOa3AS8FzgLWB0R53RXpiSpU0XX4ImI44BvAZ/LzK9PWXxtZu5p\ntNsInAx8Z6b+DhyYmBwY6C9ajiQdrvqmW1B0J+vLgDuByzLzninLlgIPR8RJwFPA2cD1rfocGxsv\nUsqMarVBdu3aW3q/ZbPOci2EOhdCjWCdZZuNOmu1wWmXFV2DXwssA9ZFxEeASeBLwOLMXB8Ra4Hv\nA08D38vMOwqOI0kqqFDAZ+blwOUzLL8RuLFoUZKk7nmikyRVlAEvSRVlwEtSRRnwklRRhY+Dl6Sq\nmZiYYMeObaX2OTKynP7+3pzjY8BLUsOOHds4/fRdwPEl9bid+++HE044saT+OmPAS9LzHA+sKLG/\nfS1bbNv2U774xc/yzDPPMD4+zmmnncE73/merkc24CWph/bt28dHP3olH//4X3Pssa9icnKSdev+\nO7fe+i3OO+8PuurbgJekHrrvvu+zatXrOPbYVwHQ19fHX/7lXzEw0H08G/CS1ENPPPEEr3zlsc+b\nd9RRR5XSt4dJSlIPvfzlL+eXv/zl8+Y99tjP+dGPur9fkmvwkvQ820vuqzZjizPP/I/ccMNXOP/8\nP+TYY1/FgQMH+OxnP83rX38qK1ee3NXoBrwkNYyMLOf++6GdI1/aU2NkZPmMLRYtWsyVV/4PPvnJ\nq5icnGR8fJzVq9/A+ee/tevRDXhJaujv7+/JMesrVpzEtdd+ofR+3QYvSRVlwEtSRRnwklRRRe/J\nOgBsAEaAFwNXZeZtTcvPBdYB+4EvZ+b67kuVpBeamJhgy5YtjI62t2O0lxf/mmtFd7JeBDyRme+I\niCHgh8Bt8OvwvwZYRf2m25sj4tbM3FVGwZLUbMeObZz++VX1u0S3shvuv+zBaXekejXJum8ANzce\nH0F9Tf2g1wBbM3MPQERsAt4A/H3RIiVpRsuAl3bfTUdfFu1o8YUy24redHscICIGqQf9lU2LlwJP\nNk3vBY4uWqAkzamSviw68dBDD/KRj6zl+OOX89xzzzExMcEf/dGFnH32m7rqt/Bx8BFxHPAt4HOZ\n+fWmRXuoh/xBg8DuVv0NDS1iYKD8P2NqtcHS+5wN1lmuhVDnQqgR5n+dY2NLOmo/PLxk2tfUaV9F\nxjvU2MuWLeLMM8/g6quvBmB8fJyLLrqIlStfw0knnVR47KI7WV8G3Alclpn3TFn8CPDqiFgGjFPf\nPPOpVn2OjY0XKWVGtdogu3btLb3fsllnuRZCnb2ssZPtzK973UpGR8v/3SxTuztXm9tP99532len\n4033c9+9e5ynn97/vGW/93vnc8stt7FmzbEvaN9spi/gomvwa6n/IbMuIj4CTAJfAhZn5vqI+BBw\nF9AHrM/MxwqOI6lk7d+1aDuZP2Vo6BVzUZamGB4eZsuW7KqPotvgLwcun2H5RmBj0aIkzbay71qk\nsv3iF49xzDHHdNWH16KRStLJpo/h4ZWzXI0Ka7nHcHb6mpyc/PXjX/1qH7fd9g987GOf7Gp4A14q\niZs+Fr6RkeXcf9mDpffZjoceepAPfvC99PUdwXPPTbBmzXs57rh/19XYBrxUKjd9LGS9uprkySev\n4tvfvrP0fr0WjSRVlAEvSRVlwEtSRRnwklRRBrwkVZQBL0kVZcBLUkUZ8JJUUQa8JFWUAS9JFWXA\nS1JFGfCSVFEGvCRVlAEvSRXV1eWCI+JU4BOZedaU+ZcDa4DHG7Pek5lbuxlLktSZwgEfEX8OvB04\n1F1qVwFvz8yHivYvSepON5tofgJcMM2yVcDaiLgvIj7cxRiSpIIKB3xm3gIcmGbxTcB7gbOA1RFx\nTtFxJEnFzNYt+67NzD0AEbEROBn4zkxPGBpaxMBAf+mF1GqDpfc5G6yzXL2oc2xsSUfte/VeLpQ6\n29Xp6xkeXtLT1zSXY5cR8H3NExGxFHg4Ik4CngLOBq5v1cnY2HgJpTxfrTbIrl17S++3bNZZrl7V\nOTq6D2g/bHr1Xi6UOttVfz2dte/Va5qNz+ZMXxhlBPwkQERcCCzOzPURsRb4PvA08L3MvKOEcSRJ\nHegq4DPzUeCMxuObmubfCNzYXWmSpG54opMkVZQBL0kVZcBLUkUZ8JJUUQa8JFWUAS9JFWXAS1JF\nGfCSVFEGvCRVlAEvSRU1W1eTlKSuTExMsGPHtpbtdu58dA6qWZgMeEnz0o4d2zj99F3A8S1ajsL7\n56KihceAlzSPHQ+saNFm+1wUsiC5DV6SKsqAl6SKMuAlqaIMeEmqqK4CPiJOjYh7DjH/3Ij4QURs\njog13YwhSSqmcMBHxJ8DXwKOnDJ/ALgGeBPw28C7I6LWRY2SpAK6WYP/CXDBIea/BtiamXsycz+w\nCXhDF+NIkgoofBx8Zt4SEf/+EIuWAk82Te8Fjm7V39DQIgYG+ouWM61abbD0PmeDdZarF3WOjS3p\nqH2v3suq1tmu4eElPf0cz+XYs3Gi0x7qIX/QILC71ZPGxsZLL6RWG2TXrr2l91s26yxXr+ocHd0H\ntB9KvXovq1pnJ/326jXNxmdzpi+MMgK+b8r0I8CrI2IZME5988ynShhHktSBMgJ+EiAiLgQWZ+b6\niPgQcBf18F+fmY+VMI4kqQNdBXxmPgqc0Xh8U9P8jcDG7kqTJHXDE50kqaIMeEmqKANekirKgJek\nijLgJamiDHhJqigDXpIqyoCXpIoy4CWpogx4SaooA16SKsqAl6SKMuAlqaIMeEmqKANekirKgJek\niip0w4+I6AP+BlgJPA2sycxtTcsvB9YAjzdmvSczt3ZZqySpA0Xv6HQ+cGRmnhERpwLXNOYdtAp4\ne2Y+1G2BkqRiigb8auAOgMx8ICJOmbJ8FbA2Il4BbMzMT3RR44IzMTHBjh3bWjdsGB5eOYvVSDpc\nFQ34pcCTTdMHIuKIzHyuMX0T8HlgD/APEXFOZn6nizoXlB07tnH66buA49tovZ3MnzI09IrZLkvS\nYaZowO8BBpumm8Md4NrM3AMQERuBk4EZA35oaBEDA/0Fy5lerTbYulHJxsaWAEuAFW0/pxd1FmGd\n06v/3NvXq/eyqnW2a3h4SU8/x3M5dtGA3wz8PvDNiDgN+PHBBRGxFHg4Ik4CngLOBq5v1eHY2HjB\nUqZXqw2ya9fe0vttZXR0H/WAb18v6uxUr97PTi2Un3uv3suq1tlJv716TbPx2ZzpC6NowN8C/E5E\nbG5MXxwRFwKLM3N9RKwFvk/9CJvvZeYdBceRJBVUKOAzcxK4dMrsLU3LbwRu7KIuSVKXPNFJkiqq\n6CYaHWYmJibYsmVLY7vozEZGltPfX/4Oc0mdMeDVlh07tnH651fBshYNd8P9lz3ICSecOCd1SZqe\nAa/2LQNe2usiJLXLbfCSVFEGvCRVlAEvSRVlwEtSRRnwklRRBrwkVZQBL0kVZcBLUkV5otNhrJM7\nT+3c+egsVyOpbAb8YayzO0+NwvtnuyJJZVpwAd/JWqf3Om3H8bR356nts12IpJItuIBvf63Te51K\nOrwtuICva2etc4Lt27d7eVtJh61CAR8RfcDfACup35ZvTWZua1p+LrAO2A98OTPXl1Brh3bylhve\nsgAubzvB9u07/SKSVLqia/DnA0dm5hkRcSpwTWMeETHQmF5F/abbmyPi1szcVUbBHVkQl7ddKF9E\nkhaaosfBrwbuAMjMB4BTmpa9BtiamXsycz+wCXhDV1VW3cEvopn+tfoCkKQpiq7BLwWebJo+EBFH\nZOZzh1i2Fzi64DjTaOeIjp/B7jaatdOmkHaPOrHOVjo5cmpiYoInnljCk08+1bLt7Gzyauf9/Anb\nt/e3tVkOrLO1Nj+bUPrnc75/NosG/B5gsGn6YLgfXLa0adkgbbytQ0OLGBho/YKGh1eS+dOW7SYm\nzgD+b1tv0gknnFDqB7PdGsE627Fly5YOjte/Dy5a09Ymr1yXrFjRziGi7Wn3/dy+vb+9zXJgnSX/\nrkO5n8/5/tksGvCbgd8HvhkRpwE/blr2CPDqiFgGjFPfPPOpVh2OjY23PXi7hz7WaoPs2rW3ZbvR\n0fbHblcnh2daZ6v+9tHR8fpt7nsZHd3X1uvpRDvv5+jovo72D1lna+1+NqHcz+d8+GzWaoPTLisa\n8LcAvxMRmxvTF0fEhcDizFwfER8C7gL6gPWZ+VjBcSRJBRUK+MycBC6dMntL0/KNwMYu6pIkdcmr\nSUpSRRnwklRRBrwkVZQBL0kVZcBLUkUZ8JJUUQa8JFWUAS9JFWXAS1JFGfCSVFEGvCRVlAEvSRVl\nwEtSRRnwklRRBrwkVZQBL0kVZcBLUkUVuqNTRBwF3AAcQ/0m2/8lM/9tSpvPAGcCB28seF5mlnvD\nRknStIrek/VS4F8z868i4o+BdcDlU9qsAt6cmaPdFChJKqboJprVwB2Nx/8IvKl5YUT0AScCfxsR\nmyLi4uIlSpKKaLkGHxGXAFcAk41ZfcAvgCcb03uBpVOethi4DrimMcY9EfHPmflwGUVLklprGfCZ\nuQHY0DwvIv4eGGxMDgK7pzxtHLguM59utL8bWAlMG/BDQ4sYGOhvv/I21WqDrRvNA9Y5vbGxJbPS\n7/DwkgXxeqyzPQvhPWpXWe9l0W3wm4FzgH9p/H/flOUrgK9HxG82xlgNfGWmDsfGxguWMr1abZBd\nu+b/fl3rnNno6D6g/F+k0dF9PXw9nbW3zpkdzp/Nmb4Iigb8F4CvRsR9wDPAnwBExBXA1sy8PSK+\nBjwAPAt8NTMfKTiWJKmAQgGfmU8BbzvE/E83Pb4auLp4aZKkbniikyRVlAEvSRVlwEtSRRnwklRR\nRY+ikSQBsL3Ndj+b1SoOxYCXpIJGRpZz//0Arc8Z2LlzmD+eesbQLDPgJamg/v5+TjjhxF6XMS23\nwUtSRRnwklRRBrwkVZQBL0kVZcBLUkUZ8JJUUQa8JFWUAS9JFWXAS1JFeSarJM2VqXevLtqmTV0F\nfERcALw1M//0EMveBbwb2A9clZkbuxlLkhaykZHl5Lps6163IyPLSxmzcMBHxGeA3wV+eIhlLwM+\nAPwWsAjYFBF3Zeb+ouNJ0kLW39/PihUr5vTm4N1sg98MXDrNstcDmzLzQGbuAbYCr+1iLElSh1qu\nwUfEJcAVwCTQ1/j/4sy8OSLeOM3TlgJPNk3vA47uslZJUgdaBnxmbgA2dNjvHuohf9AgLXYdDA0t\nYmCgv8NhWqvVBkvvczZY5/TGxpbMSr/Dw0sWxOuxzvb4O/RCs3UUzQ+Aj0XEi4GXACcBD8/0hLGx\n8dKLqNUG53R7V1HWObP6TqldbbZu/645o6P7evh6OmtvnTM7nH+HZvrCKDXgI+IKYGtm3h4R1wGb\nqG/W+YvMfLbMsXT4mO93zZHmq64CPjPvBe5tmv500+Prgeu76V+C+X/XnELaPda5xGOidfjxRCdp\njnVyPPTB9lIRBrw0x3pxPLQOT16LRpIqyoCXpIoy4CWpogx4Saood7JKmp6Hcy5oBrykQ/JwzoXP\ngJd0SB7OufC5DV6SKsqAl6SKMuAlqaIMeEmqKANekirKgJekijLgJamiDHhJqqiuTnSKiAuAt2bm\nnx5i2WeAM4GDZ0mcl5meMSFJc6RwwDcC/HeBH07TZBXw5swcLTqGJKm4bjbRbAYuPdSCiOgDTgT+\nNiI2RcTFXYwjSSqg5Rp8RFwCXAFMAn2N/y/OzJsj4o3TPG0xcB1wTWOMeyLinzPz4enGGRpaxMBA\nf6f1t1SrDZbe52ywznKMjS1pu+3w8JKevp75/l4eZJ3lmss6WwZ8Zm4ANnTY7zhwXWY+DRARdwMr\ngWkDfmxsvMMhWqvVBhfEhZKsszztXvnwYNtevZ6F8F6CdZZtNuqc6Qtjto6iWQFsjoi+iHgRsBr4\nP7M0liTpEEq9XHBEXAFszczbI+JrwAPAs8BXM/ORMseSJM2sq4DPzHuBe5umP930+Grg6m76lyQV\n54lOklRRBrwkVZQBL0kVZcBLUkUZ8JJUUQa8JFWUAS9JFWXAS1JFGfCSVFEGvCRVlAEvSRVlwEtS\nRRnwklRRBrwkVZQBL0kVVeoNP6R5YXdJbaQFrlDAR8RS4AZgKfAi4L9l5j9NafMu4N3AfuCqzNzY\nZa1SSyMjy8l12da9WUdGls9BRVLvFF2D/xDw3cy8LiJWADcBqw4ujIiXAR8AfgtYBGyKiLsyc3+3\nBUsz6e/vZ8WKFQviBszSbCsa8NcAzzQevwh4asry1wObMvMAsCcitgKvBR4sOJ4kqUMtAz4iLgGu\nACaBvsb/F2fmgxHxcuDvgA9OedpS4Mmm6X3A0aVULElqS8uAz8wNwIap8yPiPwD/i/r2901TFu+h\nHvIHDdJit1atNtjXstoCarXB2ei2dNZZroVQ50KoEayzbHNZZ9GdrL8BfAN4W2b++BBNfgB8LCJe\nDLwEOAl4uHCVkqSOFd0G/3HgSODaiOgDdmfmBRFxBbA1M2+PiOuATdQ36/xFZj5bTsmSpHb0TU5O\n9roGSdIs8ExWSaooA16SKsqAl6SKMuAlqaIMeEmqqEoGfEQsmNcVES9tHGo670XEkb2uYSYRcUyv\na6iSiHjJfPyZNy52uKBExBERcexcZ1NlDpOMiOXUr5FzCnCA+pfXj4ErMnNLL2trFhEXA8cBt1M/\nE/hp6hdke19mfreXtR0UEecCn6N+JdArM/Prjfl3Z+bZPS2uSeNCd82+BrwDYD79zBeKxgmMHwfG\ngBuB9cAE8F8z8/Ze1tYsIsaBD2Tm9b2uZSYRcX1mvjMiTqX+fv4b9bP6L5l69d3ZUqXrwa8H1mbm\nAwdnRMRpwJeBM3tW1Qu9D/ht4NvAf87MLRHxSuBWYF4EPHAl8JvUvyRvjoijMvOr1E9am0++C4wD\nP6deWwD/k/r1kubNF9EC8kVgHTACfBNYQX0F5B+pr5DMFz8CTo6Iu4GPZua9vS5oGsc3/r8K+E+Z\nubXxu34T8Ma5KKBKAX9Uc7gDZOY/RUSv6pnO/sz8VUTsBbYBZObPI2I+/Sn1bGaOAUTEecDdEbGT\nenDOJ6dQD6UvZOb/joh7MvOsXhd1KBFxD/Wzv5v1AZOZeUYPSjqUIxpheW9EnJWZjwNExIEe1zXV\nU5n5/og4BVgbEZ8Dvgdsy8zrelzboUxk5lb49e/6nG2mqVLA/ygiNgB3UL+S5SBwDvCvPa3qhb4d\nEbdSvzbP7RFxJ/AW4O7elvU8OyLiGmBdZu6NiD8A7gSW9biu58nMxyPibcBfR8Trel1PCx8GvgRc\nQH0T4nyUEbEeeHdm/hlARHwY+EVPq3qhPoDM/BfgDyPiaOAN1P+Cm0+OjogHgcUR8U7qm2muBh6d\nqwKqFPDvA84HVlO/kuUe6n9W3tLLoqbKzE9ExBuBNwM7gWOA6+bZHa8uAS6iscaemf8vIs4C1va0\nqkNo3HPg8oj4M+bxQQOZ+UBE/B3w2sycV5/JJu8Czs3M55rm/QyYb2vFX2meyMwngdsa/+aNzFzV\n2Em9kvqmxOeo7xecs30HldnJKkl6vnm7xiNJ6o4BL0kVZcBLUkUZ8JJUUf8fBWt/ET97tFAAAAAA\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x57b0454fd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.plot(kind='bar')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Although the above has set `df.set_index(['A', 'B'])`, but when doing `plot`, The labels for \"A\" and \"B\" are still not yet. \n",
"\n",
"To properly showing two levels of labeling, \"A\" as the first level and \"B\" as the secondary one, Ref\n",
"\n",
"<a name=\"hierarchically_labeling\"/>\n",
"**Pandas, hierarchically labeling bar plot** \n",
"http://stackoverflow.com/questions/34097154/pandas-hierarchically-labeling-bar-plot/34098738#34098738\n",
"\n",
"Demo follows:\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x57b06a5b38>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x57b0695c88>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.set_index(['A', 'B']).plot(kind='bar')"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x57b1e0eb00>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = df.set_index(['A', 'B']).plot(kind='barh')\n",
"ax.invert_yaxis()"
]
},
{
"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.5.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment