Created
June 1, 2018 06:25
-
-
Save Radcliffe/621de4b1f4bebb9bf4c2adbfec88d818 to your computer and use it in GitHub Desktop.
Plotting a dataframe using Pandas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Plotting a Pandas Dataframe" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"arr = [\"Iteration, Content 1 loss, Style 1 loss, Style 2 loss, Style 3 loss, Style 4 loss, Style 5 loss, Total loss \",\n", | |
"\"50, 790102.75, 23488.4316406, 152826.828125, 32253.9609375, 286624.40625, 326.32421875, 1296064.375\",\n", | |
"\"100, 613707.625, 16760.5703125, 77028.4453125, 16175.6513672, 146230.6875, 355.907623291, 881013.25\",\n", | |
"\"150, 543974.875, 11142.5878906, 39045.4023438, 9218.75488281, 122292.773438, 371.096221924, 736621.5\",\n", | |
"\"200, 509656.59375, 7263.65527344, 21299.6308594, 5991.07763672, 115682.640625, 384.981140137, 670373.75\",\n", | |
"\"250, 489233.90625, 4564.45849609, 12385.5136719, 4535.27587891, 114323.5, 395.084991455, 634813.5625\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"with open('output.csv', 'w') as f:\n", | |
" f.writelines(row + '\\n' for row in arr)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration, Content 1 loss, Style 1 loss, Style 2 loss, Style 3 loss, Style 4 loss, Style 5 loss, Total loss \r\n", | |
"50, 790102.75, 23488.4316406, 152826.828125, 32253.9609375, 286624.40625, 326.32421875, 1296064.375\r\n", | |
"100, 613707.625, 16760.5703125, 77028.4453125, 16175.6513672, 146230.6875, 355.907623291, 881013.25\r\n", | |
"150, 543974.875, 11142.5878906, 39045.4023438, 9218.75488281, 122292.773438, 371.096221924, 736621.5\r\n", | |
"200, 509656.59375, 7263.65527344, 21299.6308594, 5991.07763672, 115682.640625, 384.981140137, 670373.75\r\n", | |
"250, 489233.90625, 4564.45849609, 12385.5136719, 4535.27587891, 114323.5, 395.084991455, 634813.5625\r\n" | |
] | |
} | |
], | |
"source": [ | |
"!cat output.csv" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Content 1 loss</th>\n", | |
" <th>Style 1 loss</th>\n", | |
" <th>Style 2 loss</th>\n", | |
" <th>Style 3 loss</th>\n", | |
" <th>Style 4 loss</th>\n", | |
" <th>Style 5 loss</th>\n", | |
" <th>Total loss</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>Iteration</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>50</th>\n", | |
" <td>790102.75000</td>\n", | |
" <td>23488.431641</td>\n", | |
" <td>152826.828125</td>\n", | |
" <td>32253.960938</td>\n", | |
" <td>286624.406250</td>\n", | |
" <td>326.324219</td>\n", | |
" <td>1.296064e+06</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>100</th>\n", | |
" <td>613707.62500</td>\n", | |
" <td>16760.570312</td>\n", | |
" <td>77028.445312</td>\n", | |
" <td>16175.651367</td>\n", | |
" <td>146230.687500</td>\n", | |
" <td>355.907623</td>\n", | |
" <td>8.810132e+05</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>150</th>\n", | |
" <td>543974.87500</td>\n", | |
" <td>11142.587891</td>\n", | |
" <td>39045.402344</td>\n", | |
" <td>9218.754883</td>\n", | |
" <td>122292.773438</td>\n", | |
" <td>371.096222</td>\n", | |
" <td>7.366215e+05</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>200</th>\n", | |
" <td>509656.59375</td>\n", | |
" <td>7263.655273</td>\n", | |
" <td>21299.630859</td>\n", | |
" <td>5991.077637</td>\n", | |
" <td>115682.640625</td>\n", | |
" <td>384.981140</td>\n", | |
" <td>6.703738e+05</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>250</th>\n", | |
" <td>489233.90625</td>\n", | |
" <td>4564.458496</td>\n", | |
" <td>12385.513672</td>\n", | |
" <td>4535.275879</td>\n", | |
" <td>114323.500000</td>\n", | |
" <td>395.084991</td>\n", | |
" <td>6.348136e+05</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Content 1 loss Style 1 loss Style 2 loss Style 3 loss \\\n", | |
"Iteration \n", | |
"50 790102.75000 23488.431641 152826.828125 32253.960938 \n", | |
"100 613707.62500 16760.570312 77028.445312 16175.651367 \n", | |
"150 543974.87500 11142.587891 39045.402344 9218.754883 \n", | |
"200 509656.59375 7263.655273 21299.630859 5991.077637 \n", | |
"250 489233.90625 4564.458496 12385.513672 4535.275879 \n", | |
"\n", | |
" Style 4 loss Style 5 loss Total loss \n", | |
"Iteration \n", | |
"50 286624.406250 326.324219 1.296064e+06 \n", | |
"100 146230.687500 355.907623 8.810132e+05 \n", | |
"150 122292.773438 371.096222 7.366215e+05 \n", | |
"200 115682.640625 384.981140 6.703738e+05 \n", | |
"250 114323.500000 395.084991 6.348136e+05 " | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"%matplotlib inline\n", | |
"import pandas as pd\n", | |
"df = pd.read_csv('output.csv').set_index('Iteration')\n", | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x109af4fd0>" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x106213dd8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"df.plot()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"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.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment