{ "metadata": { "name": "Pandas" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": "Pandas" }, { "cell_type": "markdown", "metadata": {}, "source": "- \uac00\uc7a5 \uc790\uc8fc \uc0b4\ud3b4\ubcfc \ub77c\uc774\ube0c\ub7ec\ub9ac\n- \uace0\uc218\uc900\uc758 \uc790\ub8cc\uad6c\uc870\uc640 \ud30c\uc774\uc36c\uc744 \ud1b5\ud55c \ube60\ub974\uace0 \uc26c\uc6b4 \ub370\uc774\ud130 \ubd84\uc11d \ub3c4\uad6c \ud3ec\ud568\n- NumPy \uae30\ubc18\uc5d0\uc11c \uac1c\ubc1c\ub418\uc5b4 NumPy\ub97c \uc0ac\uc6a9\ud558\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc27d\uac8c \uc0ac\uc6a9\n\n## Pandas \uac1c\ubc1c \ub3d9\uae30\n\n- \uc790\ub3d9\uc801\uc73c\ub85c \ud639\uc778 \uba85\uc2dc\uc801\uc73c\ub85c \ucd95\uc758 \uc774\ub984\uc5d0 \ub530\ub77c \ub370\uc774\ud130\ub97c \uc815\ub82c\ud560 \uc218 \uc788\ub294 \uc790\ub8cc \uad6c\uc870. \uc798\ubabb \uc815\ub82c\ub41c \ub370\uc774\ud130\uc5d0 \uc758\ud55c \uc77c\ubc18\uc801\uc778 \uc624\ub958\ub97c \uc5d0\ubc29\ud558\uace0 \ub2e4\uc591\ud55c \uc18c\uc2a4\uc5d0\uc11c \uac00\uc838\uc628 \ub2e4\uc591\ud55c \ubc29\uc2dd\uc73c\ub85c \uc0c9\uc778\ub418\uc5b4 \uc788\ub294 \ub370\uc774\ud130\ub97c \ub2e4\ub8f0 \uc218 \uc788\ub294 \uae30\ub2a5\n- \ud1b5\ud569\ub41c \uc2dc\uacc4\uc5f4 \uae30\ub2a5\n- \uc2dc\uacc4\uc5f4 \ub370\uc774\ud130\uc640 \ube44\uc2dc\uacc4\uc5f4 \ub370\uc774\ud130\ub97c \ud568\uaed8 \ub2e4\ub8f0 \uc218 \uc788\ub294 \ud1b5\ud569 \uc790\ub8cc \uad6c\uc870\n- \uc0b0\uc220\uc5f0\uc0b0\uacfc \ud55c \ucd95\uc758 \ubaa8\ub4e0 \uac12\uc744 \ub354\ud558\ub294 \ub4f1\uc758 \ub370\uc774\ud130 \ucd95\uc57d\uc5f0\uc0b0\uc740 \ucd95\uc758 \uc774\ub984 \uac19\uc740 \uba54\ud0c0\ub370\uc774\ud130\ub85c \uc804\ub2ec\ub420 \uc218 \uc788\uc5b4\uc57c \ud568\n- \ub204\ub77d\ub41c \ub370\uc774\ud130\ub97c \uc720\uc5f0\ud558\uac8c \ucc98\ub9ac\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\n- SQL \uac19\uc740 \uc77c\ubc18 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ucc98\ub7fc \ub370\uc774\ud130\ub97c \ud569\uce58\uace0 \uad00\uacc4\uc5f0\uc0b0\uc744 \uc218\ud589\ud558\ub294 \uae30\ub2a5\n\n###Pandas import \ucee8\ubca4\uc158\n\nfrom pandas import Series, DataFrame\n\nimport pandas as pd\n\n- pd. \uc73c\ub85c \uc2dc\uc791\ud558\ub294\uac8c \uc88b\uc9c0\ub9cc Series\uc640 DataFrame\uc740 \ub9ce\uc774 \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 local namespace\ub85c import \ud558\ub294 \uac83\uc774 \ud6e8\uc52c \ud3b8\ud568" }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": "5.1 pandas \uc790\ub8cc \uad6c\uc870 \uc18c\uac1c" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.1.1. Series" }, { "cell_type": "markdown", "metadata": {}, "source": "- Series\ub294 \uc77c\ub828\uc758 \uac1d\uccb4\ub97c \ub2f4\uc744 \uc218 \uc788\ub294 1\ucc28\uc6d0 \ubc30\uc5f4 \uac19\uc740 \uc790\ub8cc \uad6c\uc870(\uc5b4\ub5a4 NumPy \uc790\ub8cc\ud615\uc774\ub77c\ub3c4 \ub2f4\uc744 \uc218 \uc788\ub2e4)\n- \uc0c9\uc778\uc774\ub77c\uace0 \ud558\ub294 \ubc30\uc5f4\uc758 \ub370\uc774\ud130\uc5d0 \uc5f0\uad00\ub41c \uc774\ub984\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4." }, { "cell_type": "code", "collapsed": false, "input": "from pandas import Series, DataFrame\nimport pandas as pd", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": "obj = Series([4, 7, -5, 3])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": "0 4\n1 7\n2 -5\n3 3\ndtype: int64" } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": "- \uc67c\ucabd\uc5d0 \uc0c9\uc778\n- \uc624\ub978\ucabd\uc5d0 \uc0c9\uc778\uc758 \uac12" }, { "cell_type": "code", "collapsed": false, "input": "obj.values", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": "array([ 4, 7, -5, 3])" } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": "obj.index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": "Int64Index([0, 1, 2, 3], dtype=int64)" } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": "obj2 = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": "obj2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": "d 4\nb 7\na -5\nc 3\ndtype: int64" } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": "obj2.index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": "Index([u'd', u'b', u'a', u'c'], dtype=object)" } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": "obj2['a']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": "-5" } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": "obj2['d'] = 6", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": "obj2[['c', 'a', 'd']]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": "c 3\na -5\nd 6\ndtype: int64" } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": "obj2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": "d 6\nb 7\na -5\nc 3\ndtype: int64" } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": "- \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\uc744 \uc0ac\uc6a9\ud574\uc11c \uac12\uc744 \uac78\ub7ec\ub0b4\uac70\ub098 \uc0b0\uc220 \uacf1\uc148\uc744 \uc218\ud589\ud558\uac70\ub098 \ub610\ub294 \uc218\ud559 \ud568\uc218\ub97c \uc801\uc6a9\ud558\ub294 \ub4f1 NumPy \ubc30\uc5f4\uc5f0\uc0b0\uc744 \uc218\ud589\ud574\ub3c4 \uc0c9\uc778-\uac12 \uc5f0\uacb0\uc740 \uc720\uc9c0" }, { "cell_type": "code", "collapsed": false, "input": "obj2[obj2 > 0]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": "d 6\nb 7\nc 3\ndtype: int64" } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": "obj2 * 2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": "d 12\nb 14\na -10\nc 6\ndtype: int64" } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": "np.exp(obj2)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": "d 403.428793\nb 1096.633158\na 0.006738\nc 20.085537\ndtype: float64" } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": "####Series == \uace0\uc815 \uae38\uc774\uc758 \uc815\ub82c\ub41c \uc0ac\uc804\ud615" }, { "cell_type": "code", "collapsed": false, "input": "'b' in obj2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": "True" } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": "'e' in obj2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": "False" } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": "sdata = {'Ohio': 35000,\n 'Texas': 71000,\n 'Oregon': 16000,\n 'Utah': 5000}", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": "obj3 = Series(sdata)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": "obj3", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": "Ohio 35000\nOregon 16000\nTexas 71000\nUtah 5000\ndtype: int64" } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": "states = ['California', 'Ohio', 'Oregon', 'Texas']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": "obj4 = Series(sdata, index=states)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": "obj4", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": "California NaN\nOhio 35000\nOregon 16000\nTexas 71000\ndtype: float64" } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": "####NaN(not a number)\n\n- pandas\uc5d0\uc11c\ub294 \ub204\ub77d\ub41c \uac12 \ud639\uc740 NA \uac12\uc73c\ub85c \ucde8\uae09\n- '\ub204\ub77d\ub41c'\uacfc 'NA'\ub97c \ub204\ub77d\ub41c \ub370\uc774\ud130\ub85c \uc9c0\uce6d\n- pandas\uc758 isnull\uacfc notnull \ud568\uc218\ub294 \ub204\ub77d\ub41c \ud568\uc218\ub97c \ucc3e\uc744 \ub54c \uc0ac\uc6a9" }, { "cell_type": "code", "collapsed": false, "input": "pd.isnull(obj4)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": "California True\nOhio False\nOregon False\nTexas False\ndtype: bool" } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": "pd.notnull(obj4)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 28, "text": "California False\nOhio True\nOregon True\nTexas True\ndtype: bool" } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": "####Series\uc758 \uc778\uc2a4\ud134\uc2a4 \uba54\uc11c\ub4dc\n\n- 'hi'.isalpha()\uc640 \uac19\uc774 \uc778\uc2a4\ud134\uc2a4\uc5d0\uc11c \ubc14\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud3b8\ub9ac\ud568" }, { "cell_type": "code", "collapsed": false, "input": "obj4.isnull()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": "California True\nOhio False\nOregon False\nTexas False\ndtype: bool" } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": "obj4.notnull()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 30, "text": "California False\nOhio True\nOregon True\nTexas True\ndtype: bool" } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": "####Seriese\uc758 \uac00\uc7a5 \uc911\uc694\ud55c \uae30\ub2a5 - \ub2e4\ub974\uac8c \uc0c9\uc778\ub41c \ub370\uc774\ud130\uc5d0 \ub300\ud55c \uc0b0\uc220\uc5f0\uc0b0\n\n1. \ub2e4\ub974\uac8c \uc0c9\uc778\ub41c \ub370\uc774\ud130\uc5d0 \uac01\uac01 \uac12\uc774 \uc788\uc5b4\uc57c \ud558\uba70\n2. intersection\uc774 \ub418\uc9c0 \uc54a\ub294\ub2e4\uba74 NaN \ud45c\uc2dc\n3. intersecion\uc774 \ub41c\ub2e4\uba74 \ud574\ub2f9 operator \uc5f0\uc0b0" }, { "cell_type": "code", "collapsed": false, "input": "obj3", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": "Ohio 35000\nOregon 16000\nTexas 71000\nUtah 5000\ndtype: int64" } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": "obj4", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 35, "text": "California NaN\nOhio 35000\nOregon 16000\nTexas 71000\ndtype: float64" } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": "obj3 + obj4", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 36, "text": "California NaN\nOhio 70000\nOregon 32000\nTexas 142000\nUtah NaN\ndtype: float64" } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": "####Series \uac1d\uccb4\uc640 Series\uc758 \uc0c9\uc778\uc740 \ubaa8\ub450 name \uc18d\uc131 \uc874\uc7ac" }, { "cell_type": "code", "collapsed": false, "input": "obj4.name = 'population'", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": "obj4.index.name = 'state'", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 38 }, { "cell_type": "code", "collapsed": false, "input": "obj4", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 39, "text": "state\nCalifornia NaN\nOhio 35000\nOregon 16000\nTexas 71000\nName: population, dtype: float64" } ], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 44, "text": "0 4\n1 7\n2 -5\n3 3\ndtype: int64" } ], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": "obj.index = ['Bob', 'Steve', 'Jeff', 'Ryan']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 45 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 46, "text": "Bob 4\nSteve 7\nJeff -5\nRyan 3\ndtype: int64" } ], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": "# \uc0c9\uc778\uc758 \uac2f\uc218\ub97c \ub9de\ucdb0\uc918\uc57c \ud55c\ub2e4. \ub2f9\uc5f0\ud558\uc9c0.\nobj.index = ['Bob', 'Steve', 'Jeff']", "language": "python", "metadata": {}, "outputs": [ { "ename": "Exception", "evalue": "Length mismatch (3 vs 4)", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mException\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'Bob'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Steve'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Jeff'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/generic.pyc\u001b[0m in \u001b[0;36m__setattr__\u001b[0;34m(self, name, value)\u001b[0m\n\u001b[1;32m 1271\u001b[0m \u001b[0mexisting\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1272\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexisting\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIndex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1273\u001b[0;31m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1274\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1275\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/lib.so\u001b[0m in \u001b[0;36mpandas.lib.AxisProperty.__set__ (pandas/lib.c:30028)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/series.pyc\u001b[0m in \u001b[0;36m_set_axis\u001b[0;34m(self, axis, labels, fastpath)\u001b[0m\n\u001b[1;32m 707\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'_index'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 708\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mfastpath\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 709\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 710\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 711\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_set_subtyp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mis_all_dates\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36mset_axis\u001b[0;34m(self, axis, value)\u001b[0m\n\u001b[1;32m 3031\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcur_axis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3032\u001b[0m raise Exception('Length mismatch (%d vs %d)'\n\u001b[0;32m-> 3033\u001b[0;31m % (len(value), len(cur_axis)))\n\u001b[0m\u001b[1;32m 3034\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3035\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_shape\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mException\u001b[0m: Length mismatch (3 vs 4)" ] } ], "prompt_number": 49 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.1.2. DataFrame" }, { "cell_type": "markdown", "metadata": {}, "source": "- \ud45c \uac19\uc740 \uc2a4\ud504\ub808\ub4dc\uc2dc\ud2b8 \ud615\uc2dd\uc758 \uc790\ub8cc \uad6c\uc870\ub85c \uc5ec\ub7ec \uac1c\uc758 \uceec\ub7fc\n- \uac01 \uceec\ub7fc\uc740 \uc11c\ub85c \ub2e4\ub978 \uc885\ub958\uc758 \uac12(\uc22b\uc790, \ubb38\uc790\uc5f4, \ubd88\ub9ac\uc5b8) \ub2f4\uc744 \uc218 \uc788\ub2e4\n- DataFrame\uc740 \ub85c\uc6b0\uc640 \uceec\ub7fc\uc5d0 \ub300\ud55c \uc0c9\uc778 \uc874\uc7ac.\n- \uc774 DataFrame\uc740 \uc0c9\uc778\uc758 \ubaa8\uc591\uc774 \uac19\uc740 Series \uac1d\uccb4\ub97c \ub2f4\uace0 \uc788\ub294 \ud30c\uc774\uc36c \uc0ac\uc804\uc73c\ub85c \uc0dd\uac01\ud558\uba74 \ud3b8\ud558\ub2e4.\n- R\uc758 data.frame \uac19\uc740 \ub2e4\ub978 DataFrame\uacfc \ube44\uc2b7\ud55c \uc790\ub8cc \uad6c\uc870\uc640 \ube44\uad50\ud588\uc744 \ub54c, DataFrame\uc5d0\uc11c\uc758 \ub85c\uc6b0 \uc5f0\uc0b0\uacfc \uceec\ub7fc \uc5f0\uc0b0\uc740 \uac70\uc758 \ub300\uce6d\uc801\uc73c\ub85c \ucde8\uae09\n- \ub0b4\ubd80\uc801\uc73c\ub85c \ub370\uc774\ud130\ub294 \ud558\ub098 \uc774\uc0c1\uc758 2\ucc28\uc6d0 \ubc30\uc5f4\uc5d0 \uc800\uc7a5\n- \uace0\ucc28\uc6d0\uc758 \ud45c \ud615\uc2dd \ub370\uc774\ud130\ub97c \ub098\uc911\uc5d0 \uc0b4\ud3b4\ubcfc \uacc4\uce35\uc801 \uc0c9\uc778(Hierachical indexing)\uc744 \ud1b5\ud574 \uc27d\uac8c \ud45c\ud604(\uace0\uae09 \uae30\ub2a5\uc5d0 \ud544\uc218\uc801\uc778 \uc694\uc18c)" }, { "cell_type": "markdown", "metadata": {}, "source": "####DataFrame \uac1d\uccb4 \uc0dd\uc131\n\n1. \uac19\uc740 \uae38\uc774\uc758 \ub9ac\uc2a4\ud2b8\uc5d0 \ub2f4\uae34 \uc0ac\uc804 \uc774\uc6a9\n1. NumPy \ubc30\uc5f4 \uc774\uc6a9" }, { "cell_type": "code", "collapsed": false, "input": "data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],\n 'year': [2000, 2001, 2002, 2001, 2002],\n 'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 483 }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(data)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 484 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
popstateyear
0 1.5 Ohio 2000
1 1.7 Ohio 2001
2 3.6 Ohio 2002
3 2.4 Nevada 2001
4 2.9 Nevada 2002
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 485, "text": " pop state year\n0 1.5 Ohio 2000\n1 1.7 Ohio 2001\n2 3.6 Ohio 2002\n3 2.4 Nevada 2001\n4 2.9 Nevada 2002" } ], "prompt_number": 485 }, { "cell_type": "code", "collapsed": false, "input": "DataFrame(data, columns=['year', 'state', 'pop'])", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 486, "text": " year state pop\n0 2000 Ohio 1.5\n1 2001 Ohio 1.7\n2 2002 Ohio 3.6\n3 2001 Nevada 2.4\n4 2002 Nevada 2.9" } ], "prompt_number": 486 }, { "cell_type": "code", "collapsed": false, "input": "frame2 = DataFrame(data, columns=['year', 'state', 'pop', 'debt'],\n index=['one', 'two', 'three', 'four', 'five'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 487 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepopdebt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 NaN
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 NaN
five 2002 Nevada 2.9 NaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 488, "text": " year state pop debt\none 2000 Ohio 1.5 NaN\ntwo 2001 Ohio 1.7 NaN\nthree 2002 Ohio 3.6 NaN\nfour 2001 Nevada 2.4 NaN\nfive 2002 Nevada 2.9 NaN" } ], "prompt_number": 488 }, { "cell_type": "code", "collapsed": false, "input": "frame2.columns", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 489, "text": "Index([u'year', u'state', u'pop', u'debt'], dtype=object)" } ], "prompt_number": 489 }, { "cell_type": "code", "collapsed": false, "input": "type(frame2)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 490, "text": "pandas.core.frame.DataFrame" } ], "prompt_number": 490 }, { "cell_type": "markdown", "metadata": {}, "source": "####DataFrame \uceec\ub7fc \uc811\uadfc \ubc29\ubc95\n\n1. \uc0ac\uc804 \ud615\uc2dd\uc758 \ud45c\uae30\ubc95\uc73c\ub85c \uc811\uadfc(frame2['state'])\n1. \uc18d\uc131 \ud615\uc2dd\uc73c\ub85c \uc811\uadfc(frame2.state)" }, { "cell_type": "code", "collapsed": false, "input": "frame2['state']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 491, "text": "one Ohio\ntwo Ohio\nthree Ohio\nfour Nevada\nfive Nevada\nName: state, dtype: object" } ], "prompt_number": 491 }, { "cell_type": "code", "collapsed": false, "input": "frame2.state", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 492, "text": "one Ohio\ntwo Ohio\nthree Ohio\nfour Nevada\nfive Nevada\nName: state, dtype: object" } ], "prompt_number": 492 }, { "cell_type": "code", "collapsed": false, "input": "frame2.year", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 493, "text": "one 2000\ntwo 2001\nthree 2002\nfour 2001\nfive 2002\nName: year, dtype: int64" } ], "prompt_number": 493 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ub85c\uc6b0\ub294 \uc704\uce58\ub098 ix\uac19\uc740 \uba87 \uac00\uc9c0 \uba54\uc11c\ub4dc\ub97c \ud1b5\ud574 \uc811\uadfc \uac00\ub2a5" }, { "cell_type": "code", "collapsed": false, "input": "frame2.ix['three']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 494, "text": "year 2002\nstate Ohio\npop 3.6\ndebt NaN\nName: three, dtype: object" } ], "prompt_number": 494 }, { "cell_type": "code", "collapsed": false, "input": "# error \uceec\ub7fc\uac12\uc778 year\ub97c \ub123\uc5c8\uc744 \uc2dc\nframe2.ix['year']", "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "'year'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mframe2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mix\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'year'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/indexing.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 54\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 55\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_get_label\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/indexing.pyc\u001b[0m in \u001b[0;36m_getitem_axis\u001b[0;34m(self, key, axis)\u001b[0m\n\u001b[1;32m 582\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 583\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 584\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_label\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 585\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 586\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_iterable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/indexing.pyc\u001b[0m in \u001b[0;36m_get_label\u001b[0;34m(self, label, axis)\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_xs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 66\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_xs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_get_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36mxs\u001b[0;34m(self, key, axis, level, copy, drop_level)\u001b[0m\n\u001b[1;32m 2171\u001b[0m drop_level=drop_level)\n\u001b[1;32m 2172\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2173\u001b[0;31m \u001b[0mloc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2174\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2175\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/index.pyc\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 824\u001b[0m \u001b[0mloc\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0munique\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpossibly\u001b[0m \u001b[0mslice\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mmask\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 825\u001b[0m \"\"\"\n\u001b[0;32m--> 826\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_values_from_object\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 827\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 828\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseries\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3330)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3210)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:10484)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:10438)\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 'year'" ] } ], "prompt_number": 495 }, { "cell_type": "code", "collapsed": false, "input": "# row name\uc73c\ub85c\ub294 \uc0ac\uc804\ud615\uc2dd\uc73c\ub85c \uc811\uadfc \ubd88\uac00\nframe2['three']", "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "u'no item named three'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# row name\uc73c\ub85c\ub294 \uc0ac\uc804\ud615\uc2dd\uc73c\ub85c \uc811\uadfc \ubd88\uac00\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mframe2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'three'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1827\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1828\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1829\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1830\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1831\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1834\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1835\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1836\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1837\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1838\u001b[0m \u001b[0;31m# duplicate columns\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/generic.pyc\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 782\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 783\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 784\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 785\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 786\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 2349\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2350\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2351\u001b[0;31m \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblock\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_find_block\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2352\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mblock\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2353\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36m_find_block\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 2638\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2639\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_find_block\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2640\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_check_have\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2641\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblock\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mblocks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2642\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mitem\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mblock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36m_check_have\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 2645\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_check_have\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2646\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mitem\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2647\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'no item named %s'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mcom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpprint_thing\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2648\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2649\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreindex_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_axis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfill_value\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlimit\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: u'no item named three'" ] } ], "prompt_number": 66 }, { "cell_type": "code", "collapsed": false, "input": "frame2[0]", "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "u'no item named 0'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mframe2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1827\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1828\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1829\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1830\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1831\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1834\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1835\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1836\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1837\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1838\u001b[0m \u001b[0;31m# duplicate columns\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/generic.pyc\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 782\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 783\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 784\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 785\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 786\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 2349\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2350\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2351\u001b[0;31m \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblock\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_find_block\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2352\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mblock\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2353\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36m_find_block\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 2638\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2639\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_find_block\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2640\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_check_have\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2641\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblock\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mblocks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2642\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mitem\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mblock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/internals.pyc\u001b[0m in \u001b[0;36m_check_have\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 2645\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_check_have\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2646\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mitem\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2647\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'no item named %s'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mcom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpprint_thing\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2648\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2649\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreindex_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_axis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfill_value\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlimit\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: u'no item named 0'" ] } ], "prompt_number": 67 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uceec\ub7fc \ub300\uc785 \uac00\ub2a5\n\n- \uc2a4\uce7c\ub77c \uac12\uc774\ub098 \ubc30\uc5f4\uc758 \uac12 \ub300\uc785 \uac00\ub2a5" }, { "cell_type": "code", "collapsed": false, "input": "frame2['debt'] = 16.5", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 68 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepopdebt
one 2000 Ohio 1.5 16.5
two 2001 Ohio 1.7 16.5
three 2002 Ohio 3.6 16.5
four 2001 Nevada 2.4 16.5
five 2002 Nevada 2.9 16.5
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 69, "text": " year state pop debt\none 2000 Ohio 1.5 16.5\ntwo 2001 Ohio 1.7 16.5\nthree 2002 Ohio 3.6 16.5\nfour 2001 Nevada 2.4 16.5\nfive 2002 Nevada 2.9 16.5" } ], "prompt_number": 69 }, { "cell_type": "code", "collapsed": false, "input": "frame2['debt'] = np.arange(5.)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 70 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepopdebt
one 2000 Ohio 1.5 0
two 2001 Ohio 1.7 1
three 2002 Ohio 3.6 2
four 2001 Nevada 2.4 3
five 2002 Nevada 2.9 4
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 71, "text": " year state pop debt\none 2000 Ohio 1.5 0\ntwo 2001 Ohio 1.7 1\nthree 2002 Ohio 3.6 2\nfour 2001 Nevada 2.4 3\nfive 2002 Nevada 2.9 4" } ], "prompt_number": 71 }, { "cell_type": "code", "collapsed": false, "input": "# Length of values does not match length of index\nframe2['debt'] = np.arange(10)", "language": "python", "metadata": {}, "outputs": [ { "ename": "AssertionError", "evalue": "Length of values does not match length of index", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Length of values does not match length of index\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mframe2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'debt'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m__setitem__\u001b[0;34m(self, key, value)\u001b[0m\n\u001b[1;32m 1922\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1923\u001b[0m \u001b[0;31m# set column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1924\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_set_item\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1925\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1926\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_setitem_slice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m_set_item\u001b[0;34m(self, key, value)\u001b[0m\n\u001b[1;32m 1969\u001b[0m \u001b[0mensure\u001b[0m \u001b[0mhomogeneity\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1970\u001b[0m \"\"\"\n\u001b[0;32m-> 1971\u001b[0;31m \u001b[0mvalue\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sanitize_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1972\u001b[0m \u001b[0mNDFrame\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_set_item\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1973\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m_sanitize_column\u001b[0;34m(self, key, value)\u001b[0m\n\u001b[1;32m 2010\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2011\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2012\u001b[0;31m raise AssertionError('Length of values does not match '\n\u001b[0m\u001b[1;32m 2013\u001b[0m 'length of index')\n\u001b[1;32m 2014\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAssertionError\u001b[0m: Length of values does not match length of index" ] } ], "prompt_number": 74 }, { "cell_type": "markdown", "metadata": {}, "source": "- \ub9ac\uc2a4\ud2b8\ub098 \ubc30\uc5f4\uc744 \uce7c\ub7fc\uc5d0 \ub300\uc785\ud560 \ub54c\ub294 \ub300\uc785\ud558\ub824\ub294 \uac12\uc758 \uae38\uc774\uac00 DataFrame\uc758 \ud06c\uae30\uc640 \uac19\uc544\uc57c \ud55c\ub2e4.\n- Series\ub97c \ub300\uc785\ud558\uba74 DataFrame\uc758 \uc0c9\uc778\uc5d0 \ub530\ub77c \uac12\uc774 \ub300\uc785\ub418\uba70 \uc5c6\ub294 \uc0c9\uc778\uc5d0\ub294 \uac12\uc774 \ub300\uc785\ub418\uc9c0 \uc54a\ub294\ub2e4." }, { "cell_type": "code", "collapsed": false, "input": "val = Series([-1.2, -1.5, -1.7], index=['two', 'four', 'five'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": "val", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 80, "text": "two -1.2\nfour -1.5\nfive -1.7\ndtype: float64" } ], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": "type(val)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 81, "text": "pandas.core.series.Series" } ], "prompt_number": 81 }, { "cell_type": "code", "collapsed": false, "input": "frame2['debt'] = val", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 76 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepopdebt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7-1.2
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4-1.5
five 2002 Nevada 2.9-1.7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 77, "text": " year state pop debt\none 2000 Ohio 1.5 NaN\ntwo 2001 Ohio 1.7 -1.2\nthree 2002 Ohio 3.6 NaN\nfour 2001 Nevada 2.4 -1.5\nfive 2002 Nevada 2.9 -1.7" } ], "prompt_number": 77 }, { "cell_type": "code", "collapsed": false, "input": "frame2['eastern'] = frame2.state == 'Ohio'", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 82 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepopdebteastern
one 2000 Ohio 1.5 NaN True
two 2001 Ohio 1.7-1.2 True
three 2002 Ohio 3.6 NaN True
four 2001 Nevada 2.4-1.5 False
five 2002 Nevada 2.9-1.7 False
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 83, "text": " year state pop debt eastern\none 2000 Ohio 1.5 NaN True\ntwo 2001 Ohio 1.7 -1.2 True\nthree 2002 Ohio 3.6 NaN True\nfour 2001 Nevada 2.4 -1.5 False\nfive 2002 Nevada 2.9 -1.7 False" } ], "prompt_number": 83 }, { "cell_type": "code", "collapsed": false, "input": "del frame2['eastern']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 84 }, { "cell_type": "code", "collapsed": false, "input": "frame2.columns", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 85, "text": "Index([u'year', u'state', u'pop', u'debt'], dtype=object)" } ], "prompt_number": 85 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
yearstatepopdebt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7-1.2
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4-1.5
five 2002 Nevada 2.9-1.7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 86, "text": " year state pop debt\none 2000 Ohio 1.5 NaN\ntwo 2001 Ohio 1.7 -1.2\nthree 2002 Ohio 3.6 NaN\nfour 2001 Nevada 2.4 -1.5\nfive 2002 Nevada 2.9 -1.7" } ], "prompt_number": 86 }, { "cell_type": "markdown", "metadata": {}, "source": "- DataFrame\uc758 \uc0c9\uc778\uc744 \uc774\uc6a9\ud574\uc11c \uc0dd\uc131\ub41c \uce7c\ub7fc\uc740 \ub0b4\ubd80 \ub370\uc774\ud130\uc5d0 \ub300\ud55c view\uc774\uba70 \ubcf5\uc0ac\uac00 \uc774\ub8e8\uc5b4\uc9c0\uc9c0 \uc54a\ub294\ub2e4.\n- \ub530\ub77c\uc11c \uc774\ub807\uac8c \uc5bb\uc740 Series \uac1d\uccb4\uc5d0 \ub300\ud55c \ubcc0\uacbd\uc740 \uc2e4\uc81c DataFrame\uc5d0 \ubc18\uc601\ub41c\ub2e4.\n- \ubcf5\uc0ac\ubcf8\uc774 \ud544\uc694\ud560 \ub54c\ub294 Series\uc758 copy \uba54\uc11c\ub4dc\ub97c \uc774\uc6a9\ud558\uc790" }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc911\ucca9\ub41c \uc0ac\uc804\uc744 \uc774\uc6a9\ud574\uc11c \ub370\uc774\ud130 \uc0dd\uc131" }, { "cell_type": "code", "collapsed": false, "input": "pop = {'Nevada': {2001: 2.4,\n 2002: 2.9},\n 'Ohio': {2000: 1.5,\n 2001: 1.7,\n 2002: 3.6}}", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 87 }, { "cell_type": "code", "collapsed": false, "input": "pop", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 88, "text": "{'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}" } ], "prompt_number": 88 }, { "cell_type": "code", "collapsed": false, "input": "type(pop)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 89, "text": "dict" } ], "prompt_number": 89 }, { "cell_type": "code", "collapsed": false, "input": "frame3 = DataFrame(pop)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 90 }, { "cell_type": "code", "collapsed": false, "input": "frame3", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NevadaOhio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 91, "text": " Nevada Ohio\n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 91 }, { "cell_type": "code", "collapsed": false, "input": "type(frame3)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 92, "text": "pandas.core.frame.DataFrame" } ], "prompt_number": 92 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ub85c\uc6b0, \uceec\ub7fc \ubcc0\uacbd" }, { "cell_type": "code", "collapsed": false, "input": "frame3.T", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
200020012002
Nevada NaN 2.4 2.9
Ohio 1.5 1.7 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 93, "text": " 2000 2001 2002\nNevada NaN 2.4 2.9\nOhio 1.5 1.7 3.6" } ], "prompt_number": 93 }, { "cell_type": "markdown", "metadata": {}, "source": "####index\ub97c \uc9c1\uc811 \uc9c0\uc815\ud55c\ub2e4\uba74 \uc9c0\uc815\ub41c \uc0c9\uc778\uc73c\ub85c DataFrame \uc0dd\uc131" }, { "cell_type": "code", "collapsed": false, "input": "DataFrame(pop, index=[2001, 2002, 2003])", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NevadaOhio
2001 2.4 1.7
2002 2.9 3.6
2003 NaN NaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 96, "text": " Nevada Ohio\n2001 2.4 1.7\n2002 2.9 3.6\n2003 NaN NaN" } ], "prompt_number": 96 }, { "cell_type": "code", "collapsed": false, "input": "DataFrame(pop)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NevadaOhio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 97, "text": " Nevada Ohio\n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 97 }, { "cell_type": "markdown", "metadata": {}, "source": "####Series \uac1d\uccb4\ub97c \ub2f4\uace0 \uc788\ub294 \uc0ac\uc804 \ub370\uc774\ud130\ub3c4 \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c \ucde8\uae09" }, { "cell_type": "code", "collapsed": false, "input": "pdata = {'Ohio': frame3['Ohio'][:-1],\n 'Nevada': frame3['Nevada'][:2]}", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 98 }, { "cell_type": "code", "collapsed": false, "input": "pdata", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 99, "text": "{'Nevada': 2000 NaN\n2001 2.4\nName: Nevada, dtype: float64,\n 'Ohio': 2000 1.5\n2001 1.7\nName: Ohio, dtype: float64}" } ], "prompt_number": 99 }, { "cell_type": "code", "collapsed": false, "input": "DataFrame(pdata)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NevadaOhio
2000 NaN 1.5
2001 2.4 1.7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 100, "text": " Nevada Ohio\n2000 NaN 1.5\n2001 2.4 1.7" } ], "prompt_number": 100 }, { "cell_type": "code", "collapsed": false, "input": "frame3", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NevadaOhio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 101, "text": " Nevada Ohio\n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 101 }, { "cell_type": "code", "collapsed": false, "input": "frame3.index.name = 'year'; frame3.columns.name = 'state'", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 104 }, { "cell_type": "code", "collapsed": false, "input": "frame3", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateNevadaOhio
year
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 105, "text": "state Nevada Ohio\nyear \n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 105 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc0c8\ub85c\uc6b4 index\ub97c \uc0dd\uc131\ud558\ub824\uace0 \ud588\ub294\ub370 \uacc4\uc18d \ubc14\ub00c\uae30\ub9cc \ud558\ub124..?" }, { "cell_type": "code", "collapsed": false, "input": "frame3.index.name = 'year3';", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 116 }, { "cell_type": "code", "collapsed": false, "input": "frame3", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
state2NevadaOhio
year3
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 117, "text": "state2 Nevada Ohio\nyear3 \n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 117 }, { "cell_type": "code", "collapsed": false, "input": " frame3.columns.name = 'state3'", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 118 }, { "cell_type": "code", "collapsed": false, "input": "frame3", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
state3NevadaOhio
year3
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 119, "text": "state3 Nevada Ohio\nyear3 \n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 119 }, { "cell_type": "code", "collapsed": false, "input": "frame3.values", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 120, "text": "array([[ nan, 1.5],\n [ 2.4, 1.7],\n [ 2.9, 3.6]])" } ], "prompt_number": 120 }, { "cell_type": "markdown", "metadata": {}, "source": "####DataFrame\uc758 \uce7c\ub7fc\uc5d0 \uc11c\ub85c \ub2e4\ub978 dtype\uc774 \uc788\ub2e4\uba74 \ubaa8\ub4e0 \uce7c\ub7fc\uc744 \uc218\uc6a9\ud558\uae30 \uc704\ud574 \uadf8 \uce7c\ub7fc \ubc30\uc5f4\uc758 dtype\uc774 \uc120\ud0dd\ub41c\ub2e4." }, { "cell_type": "code", "collapsed": false, "input": "frame2.values", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 122, "text": "array([[2000, 'Ohio', 1.5, nan],\n [2001, 'Ohio', 1.7, -1.2],\n [2002, 'Ohio', 3.6, nan],\n [2001, 'Nevada', 2.4, -1.5],\n [2002, 'Nevada', 2.9, -1.7]], dtype=object)" } ], "prompt_number": 122 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.1.3 \uc0c9\uc778 \uac1d\uccb4" }, { "cell_type": "markdown", "metadata": {}, "source": "- pandas\uc758 \uc0c9\uc778 \uac1d\uccb4\ub294 \ud45c \ud615\uc2dd\uc758 \ub370\uc774\ud130\uc5d0\uc11c \uac01 \ub85c\uc6b0\uc640 \uce7c\ub7fc\uc5d0 \ub300\ud55c \uc774\ub984\uacfc \ub2e4\ub978 \uba54\ud0c0\ub370\uc774\ud130(\ucd95\uc758 \uc774\ub984 \ub4f1)\ub97c \uc800\uc7a5\ud558\ub294 \uac1d\uccb4\n- Series\ub098 DataFrame \uac1d\uccb4\ub97c \uc0dd\uc131\ud560 \ub54c \uc0ac\uc6a9\ud558\ub294 \ubc30\uc5f4\uc774\ub098 \ud639\uc740 \ub2e4\ub978 \uc21c\ucc28\uc801\uc778 \uc774\ub984\uc740 \ub0b4\ubd80\uc801\uc73c\ub85c \uc0c9\uc778\uc73c\ub85c \ubcc0\ud658" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(range(3), index=['a', 'b', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 125 }, { "cell_type": "code", "collapsed": false, "input": "index = obj.index", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 126 }, { "cell_type": "code", "collapsed": false, "input": "index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 127, "text": "Index([u'a', u'b', u'c'], dtype=object)" } ], "prompt_number": 127 }, { "cell_type": "code", "collapsed": false, "input": "index[1:]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 128, "text": "Index([u'b', u'c'], dtype=object)" } ], "prompt_number": 128 }, { "cell_type": "code", "collapsed": false, "input": "# \uc0c9\uc778 \uac1d\uccb4 \ubcc0\uacbd \ubd88\uac00\nindex[1] = 'd'", "language": "python", "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "'' does not support mutable operations.", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mindex\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'd'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/base.pyc\u001b[0m in \u001b[0;36m_disabled\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 139\u001b[0m \u001b[0;34m\"\"\"This method will not function because object is immutable.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 140\u001b[0m raise TypeError(\"'%s' does not support mutable operations.\" %\n\u001b[0;32m--> 141\u001b[0;31m self.__class__)\n\u001b[0m\u001b[1;32m 142\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 143\u001b[0m \u001b[0m__setitem__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m__setslice__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m__delitem__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m__delslice__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_disabled\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: '' does not support mutable operations." ] } ], "prompt_number": 129 }, { "cell_type": "code", "collapsed": false, "input": "index = pd.Index(np.arange(3))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 134 }, { "cell_type": "code", "collapsed": false, "input": "index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 135, "text": "Int64Index([0, 1, 2], dtype=int64)" } ], "prompt_number": 135 }, { "cell_type": "code", "collapsed": false, "input": "# index=\ub294 \ud0a4\uc6cc\ub4dc, \ub4a4\uc758 index\ub294 \ubcc0\uc218\nobj2 = Series([1.5, -2.5, 0], index=index)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 136 }, { "cell_type": "code", "collapsed": false, "input": "obj2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 137, "text": "0 1.5\n1 -2.5\n2 0.0\ndtype: float64" } ], "prompt_number": 137 }, { "cell_type": "code", "collapsed": false, "input": "obj2.index is index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 138, "text": "True" } ], "prompt_number": 138 }, { "cell_type": "code", "collapsed": false, "input": "obj2.index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 142, "text": "Int64Index([0, 1, 2], dtype=int64)" } ], "prompt_number": 142 }, { "cell_type": "code", "collapsed": false, "input": "index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 143, "text": "Int64Index([0, 1, 2], dtype=int64)" } ], "prompt_number": 143 }, { "cell_type": "code", "collapsed": false, "input": "frame3", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
state3NevadaOhio
year3
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 144, "text": "state3 Nevada Ohio\nyear3 \n2000 NaN 1.5\n2001 2.4 1.7\n2002 2.9 3.6" } ], "prompt_number": 144 }, { "cell_type": "code", "collapsed": false, "input": "'Ohio' in frame3.columns", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 145, "text": "True" } ], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": "2003 in frame3.index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 146, "text": "False" } ], "prompt_number": 146 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": "5.2 \ud575\uc2ec \uae30\ub2a5" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.1 \uc7ac\uc0c9\uc778" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 148 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 149, "text": "d 4.5\nb 7.2\na -5.3\nc 3.6\ndtype: float64" } ], "prompt_number": 149 }, { "cell_type": "markdown", "metadata": {}, "source": "#### Series \uac1d\uccb4\uc5d0 \ub300\ud574 reindex\ub97c \ud638\ucd9c\ud558\uba74 \ub370\uc774\ud130\ub97c \uc0c8\ub85c\uc6b4 \uc0c9\uc778\uc5d0 \ub9de\uac8c \uc7ac\ubc30\uc5f4\ud558\uace0, \uc5c6\ub294 \uc0c9\uc778 \uac12\uc774 \uc788\ub2e4\uba74 \ube44\uc5b4\uc788\ub294 \uac12\uc744 \uc0c8\ub85c \ucd94\uac00" }, { "cell_type": "code", "collapsed": false, "input": "obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 150 }, { "cell_type": "code", "collapsed": false, "input": "obj2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 151, "text": "a -5.3\nb 7.2\nc 3.6\nd 4.5\ne NaN\ndtype: float64" } ], "prompt_number": 151 }, { "cell_type": "code", "collapsed": false, "input": "obj.reindex(['a', 'b', 'c', 'd', 'e'], fill_value=0)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 152, "text": "a -5.3\nb 7.2\nc 3.6\nd 4.5\ne 0.0\ndtype: float64" } ], "prompt_number": 152 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uac1d\uccb4\uac00 \uc6d0\ub798 \ubdf0\uc5d0 \ub300\ud55c \uc218\uc815\uc774 \uc774\ub8e8\uc5b4\uc9c0\ub294 \uac83\uc778\uc9c0? \uc544\ub2c8\uba74 \ubcf5\uc0ac\ud55c \uac1d\uccb4\uc5d0 \ub300\ud574 \uc218\uc815\uc774 \uc774\ub8e8\uc5b4\uc9c0\ub294 \uac83\uc778\uc9c0? \uba85\ud655\ud558\uc9c0 \uc54a\ub2e4.." }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 153, "text": "d 4.5\nb 7.2\na -5.3\nc 3.6\ndtype: float64" } ], "prompt_number": 153 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc2dc\uacc4\uc5f4 \uac19\uc740 \uc21c\ucc28\uc801\uc778 \ub370\uc774\ud130\ub97c \uc7ac\uc0c9\uc778\ud560 \ub54c \uac12\uc744 \ubcf4\uac04\ud558\uac70\ub098 \ucc44\uc6cc \ub123\uc5b4\uc57c \ud560 \uacbd\uc6b0\n\n- ffill\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc55e\uc758 \uac12\uc73c\ub85c \ub204\ub77d\ub41c \uac12\uc744 \ucc44\uc6cc \ub123\uc744 \uc218 \uc788\ub2e4" }, { "cell_type": "code", "collapsed": false, "input": "obj3 = Series(['blue', 'purple', 'yellow'], index=[0, 2, 4])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 154 }, { "cell_type": "code", "collapsed": false, "input": "obj3", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 156, "text": "0 blue\n2 purple\n4 yellow\ndtype: object" } ], "prompt_number": 156 }, { "cell_type": "code", "collapsed": false, "input": "obj3.reindex(range(6), method='ffill')", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 155, "text": "0 blue\n1 blue\n2 purple\n3 purple\n4 yellow\n5 yellow\ndtype: object" } ], "prompt_number": 155 }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'],\n columns=['Ohio', 'Texas', 'California'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 157 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OhioTexasCalifornia
a 0 1 2
c 3 4 5
d 6 7 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 158, "text": " Ohio Texas California\na 0 1 2\nc 3 4 5\nd 6 7 8" } ], "prompt_number": 158 }, { "cell_type": "code", "collapsed": false, "input": "frame2 = frame.reindex(['a', 'b', 'c', 'd'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 159 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OhioTexasCalifornia
a 0 1 2
bNaNNaNNaN
c 3 4 5
d 6 7 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 160, "text": " Ohio Texas California\na 0 1 2\nb NaN NaN NaN\nc 3 4 5\nd 6 7 8" } ], "prompt_number": 160 }, { "cell_type": "code", "collapsed": false, "input": "states = ['Texas', 'Utah', 'California']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 161 }, { "cell_type": "code", "collapsed": false, "input": "frame.reindex(columns=states)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TexasUtahCalifornia
a 1NaN 2
c 4NaN 5
d 7NaN 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 162, "text": " Texas Utah California\na 1 NaN 2\nc 4 NaN 5\nd 7 NaN 8" } ], "prompt_number": 162 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ub85c\uc6b0\uc640 \uce7c\ub7fc\uc744 \ubaa8\ub450 \ud55c \ubc88\uc5d0 \uc7ac\uc0c9\uc778\ud560 \uc218 \uc788\uc9c0\ub9cc \ubcf4\uac04\uc740 \ub85c\uc6b0\uc5d0 \ub300\ud574\uc11c\ub9cc \uc774\ub8e8\uc5b4\uc9c4\ub2e4(axis 0)" }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OhioTexasCalifornia
a 0 1 2
c 3 4 5
d 6 7 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 165, "text": " Ohio Texas California\na 0 1 2\nc 3 4 5\nd 6 7 8" } ], "prompt_number": 165 }, { "cell_type": "code", "collapsed": false, "input": "frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill',\n columns=states)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TexasUtahCalifornia
a 1NaN 2
b 1NaN 2
c 4NaN 5
d 7NaN 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 163, "text": " Texas Utah California\na 1 NaN 2\nb 1 NaN 2\nc 4 NaN 5\nd 7 NaN 8" } ], "prompt_number": 163 }, { "cell_type": "code", "collapsed": false, "input": "frame.ix[['a', 'b', 'c', 'd'], states]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TexasUtahCalifornia
a 1NaN 2
bNaNNaNNaN
c 4NaN 5
d 7NaN 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 164, "text": " Texas Utah California\na 1 NaN 2\nb NaN NaN NaN\nc 4 NaN 5\nd 7 NaN 8" } ], "prompt_number": 164 }, { "cell_type": "code", "collapsed": false, "input": "frame.reindex?", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 174 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.2 \ud558\ub098\uc758 \ub85c\uc6b0 \ub610\ub294 \uce7c\ub7fc \uc0ad\uc81c\ud558\uae30" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(np.arange(5.), index=['a', 'b', 'c', 'd', 'e'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 175 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 176, "text": "a 0\nb 1\nc 2\nd 3\ne 4\ndtype: float64" } ], "prompt_number": 176 }, { "cell_type": "code", "collapsed": false, "input": "new_obj = obj.drop('c')", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 177 }, { "cell_type": "code", "collapsed": false, "input": "new_obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 178, "text": "a 0\nb 1\nd 3\ne 4\ndtype: float64" } ], "prompt_number": 178 }, { "cell_type": "code", "collapsed": false, "input": "obj.drop(['d', 'c'])", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 179, "text": "a 0\nb 1\ne 4\ndtype: float64" } ], "prompt_number": 179 }, { "cell_type": "code", "collapsed": false, "input": "data = DataFrame(np.arange(16).reshape((4, 4)),\n index=['Ohio', 'Colorado', 'Utah', 'New York'],\n columns=['one', 'two', 'three', 'four'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 180 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 182, "text": " one two three four\nOhio 0 1 2 3\nColorado 4 5 6 7\nUtah 8 9 10 11\nNew York 12 13 14 15" } ], "prompt_number": 182 }, { "cell_type": "code", "collapsed": false, "input": "data.drop(['Colorado', 'Ohio'])", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Utah 8 9 10 11
New York 12 13 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 181, "text": " one two three four\nUtah 8 9 10 11\nNew York 12 13 14 15" } ], "prompt_number": 181 }, { "cell_type": "code", "collapsed": false, "input": "data.drop('two', axis=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onethreefour
Ohio 0 2 3
Colorado 4 6 7
Utah 8 10 11
New York 12 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 184, "text": " one three four\nOhio 0 2 3\nColorado 4 6 7\nUtah 8 10 11\nNew York 12 14 15" } ], "prompt_number": 184 }, { "cell_type": "code", "collapsed": false, "input": "data.drop(['two', 'four'], axis=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onethree
Ohio 0 2
Colorado 4 6
Utah 8 10
New York 12 14
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 185, "text": " one three\nOhio 0 2\nColorado 4 6\nUtah 8 10\nNew York 12 14" } ], "prompt_number": 185 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.3 \uc0c9\uc778\ud558\uae30, \uc120\ud0dd\ud558\uae30, \uac70\ub974\uae30" }, { "cell_type": "markdown", "metadata": {}, "source": "####Series\uc758 \uc0c9\uc778\uc740 NumPy \ubc30\uc5f4\uc758 \uc0c9\uc778\uacfc \uc720\uc0ac\ud558\uac8c \ub3d9\uc791\ud558\ub294\ub370, Seriese\uc758 \uc0c9\uc778\uc740 \uc815\uc218\uac00 \uc544\ub2c8\uc5b4\ub3c4 \ub41c\ub2e4\ub294 \uc810\uc774 \ub2e4\ub974\ub2e4." }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(np.arange(4.), index=['a', 'b', 'c', 'd'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 186 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 193, "text": "a 0\nb 1\nc 2\nd 3\ndtype: float64" } ], "prompt_number": 193 }, { "cell_type": "code", "collapsed": false, "input": "obj['b']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 187, "text": "1.0" } ], "prompt_number": 187 }, { "cell_type": "code", "collapsed": false, "input": "obj[1]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 188, "text": "1.0" } ], "prompt_number": 188 }, { "cell_type": "code", "collapsed": false, "input": "obj[2:4]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 189, "text": "c 2\nd 3\ndtype: float64" } ], "prompt_number": 189 }, { "cell_type": "code", "collapsed": false, "input": "obj[['b', 'a', 'd']]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 190, "text": "b 1\na 0\nd 3\ndtype: float64" } ], "prompt_number": 190 }, { "cell_type": "code", "collapsed": false, "input": "obj[[1, 3]]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 191, "text": "b 1\nd 3\ndtype: float64" } ], "prompt_number": 191 }, { "cell_type": "code", "collapsed": false, "input": "obj[obj < 2]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 192, "text": "a 0\nb 1\ndtype: float64" } ], "prompt_number": 192 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ub77c\ubca8 \uc774\ub984\uc73c\ub85c \uc2ac\ub77c\uc774\uc2f1\ud558\ub294 \uac83\uc740 \uc2dc\uc791\uc810\uacfc \ub05d\uc810\uc744 \ud3ec\ud568\ud55c\ub2e4\ub294 \uc810\uc774 \uc77c\ubc18 \ud30c\uc774\uc36c\uc5d0\uc11c\uc758 \uc2ac\ub77c\uc774\uc2f1\uacfc \ub2e4\ub978 \uc810\uc774\ub2e4." }, { "cell_type": "code", "collapsed": false, "input": "obj['b':'c']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 194, "text": "b 1\nc 2\ndtype: float64" } ], "prompt_number": 194 }, { "cell_type": "code", "collapsed": false, "input": "obj['b':'c'] = 5", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 195 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 196, "text": "a 0\nb 5\nc 5\nd 3\ndtype: float64" } ], "prompt_number": 196 }, { "cell_type": "code", "collapsed": false, "input": "data = DataFrame(np.arange(16).reshape((4, 4)),\n index=['Ohio', 'Colorado', 'Utah', 'New York'],\n columns=['one', 'two', 'three', 'four'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": " one two three four\nOhio 0 1 2 3\nColorado 4 5 6 7\nUtah 8 9 10 11\nNew York 12 13 14 15" } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": "data['two']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 199, "text": "Ohio 1\nColorado 5\nUtah 9\nNew York 13\nName: two, dtype: int64" } ], "prompt_number": 199 }, { "cell_type": "code", "collapsed": false, "input": "data[['three', 'one']]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
threeone
Ohio 2 0
Colorado 6 4
Utah 10 8
New York 14 12
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 200, "text": " three one\nOhio 2 0\nColorado 6 4\nUtah 10 8\nNew York 14 12" } ], "prompt_number": 200 }, { "cell_type": "markdown", "metadata": {}, "source": "#### \uc2ac\ub77c\uc774\uc2f1\uc73c\ub85c \ub85c\uc6b0 \uc120\ud0dd\n#### \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\ub85c \uceec\ub7fc \uc120\ud0dd" }, { "cell_type": "code", "collapsed": false, "input": "data[:2]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Ohio 0 1 2 3
Colorado 4 5 6 7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 201, "text": " one two three four\nOhio 0 1 2 3\nColorado 4 5 6 7" } ], "prompt_number": 201 }, { "cell_type": "code", "collapsed": false, "input": "data[data['three'] > 5]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 202, "text": " one two three four\nColorado 4 5 6 7\nUtah 8 9 10 11\nNew York 12 13 14 15" } ], "prompt_number": 202 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 204, "text": " one two three four\nOhio 0 1 2 3\nColorado 4 5 6 7\nUtah 8 9 10 11\nNew York 12 13 14 15" } ], "prompt_number": 204 }, { "cell_type": "code", "collapsed": false, "input": "data < 5", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Ohio True True True True
Colorado True False False False
Utah False False False False
New York False False False False
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 203, "text": " one two three four\nOhio True True True True\nColorado True False False False\nUtah False False False False\nNew York False False False False" } ], "prompt_number": 203 }, { "cell_type": "code", "collapsed": false, "input": "data[data < 5] = 0", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 205 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothreefour
Ohio 0 0 0 0
Colorado 0 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 206, "text": " one two three four\nOhio 0 0 0 0\nColorado 0 5 6 7\nUtah 8 9 10 11\nNew York 12 13 14 15" } ], "prompt_number": 206 }, { "cell_type": "code", "collapsed": false, "input": "data.ix['Colorado', ['two', 'three']]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 208, "text": "two 5\nthree 6\nName: Colorado, dtype: int64" } ], "prompt_number": 208 }, { "cell_type": "code", "collapsed": false, "input": "data.ix[['Colorado', 'Utah'], ['two', 'three']]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
twothree
Colorado 5 6
Utah 9 10
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 210, "text": " two three\nColorado 5 6\nUtah 9 10" } ], "prompt_number": 210 }, { "cell_type": "code", "collapsed": false, "input": "data.ix[['Colorado', 'Utah'], [3, 0, 1]]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
fouronetwo
Colorado 7 0 5
Utah 11 8 9
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 209, "text": " four one two\nColorado 7 0 5\nUtah 11 8 9" } ], "prompt_number": 209 }, { "cell_type": "code", "collapsed": false, "input": "data.ix[2]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 211, "text": "one 8\ntwo 9\nthree 10\nfour 11\nName: Utah, dtype: int64" } ], "prompt_number": 211 }, { "cell_type": "code", "collapsed": false, "input": "data.ix[:'Utah', 'two']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 212, "text": "Ohio 0\nColorado 5\nUtah 9\nName: two, dtype: int64" } ], "prompt_number": 212 }, { "cell_type": "code", "collapsed": false, "input": "data.ix[data.three > 5, :3]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwothree
Colorado 4 5 6
Utah 8 9 10
New York 12 13 14
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": " one two three\nColorado 4 5 6\nUtah 8 9 10\nNew York 12 13 14" } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": "# ,\ub97c \uae30\uc900\uc73c\ub85c \uc55e\uc740 \ud589. \ub4a4\ub85c\ub294 \uc5f4\uc744 \ub098\ud0c0\ub0b8\ub2e4.\ndata.ix[data.three > 5, :2]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwo
Colorado 4 5
Utah 8 9
New York 12 13
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": " one two\nColorado 4 5\nUtah 8 9\nNew York 12 13" } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ube48\ubc88\ud558\uac8c \uc77c\uc5b4\ub098\ub294 \uce7c\ub7fc \uc120\ud0dd \uc791\uc5c5\uc744 \ud560 \ub54c\ub9c8\ub2e4 \uce7c\ub7fc\uc744 \uc120\ud0dd\ud558\uae30 \uc704\ud574 frame[:, col]\uc774\ub77c\uace0 \uc785\ub825\ud574\uc57c \ud558\ub294 \uac83\uc774 \ub108\ubb34\uacfc\ud558\ub2e4\uace0 \uc0dd\uac01\n\n- \ub77c\ubca8 \uc0c9\uc778 \uae30\ub2a5\uc744 \ubaa8\ub450 ix\uc5d0 \ub123\uc5c8\ub2e4." }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.4 \uc0b0\uc220\uc5f0\uc0b0\uacfc \ub370\uc774\ud130 \uc815\ub82c" }, { "cell_type": "code", "collapsed": false, "input": "s1 = Series([7.3, -2.5, 3.4, 1.5], index=['a', 'c', 'd', 'e'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 214 }, { "cell_type": "code", "collapsed": false, "input": "s2 = Series([-2.1, 3.6, -1.5, 4, 3.1], index=['a', 'c', 'e', 'f', 'g'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 215 }, { "cell_type": "code", "collapsed": false, "input": "s1", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 216, "text": "a 7.3\nc -2.5\nd 3.4\ne 1.5\ndtype: float64" } ], "prompt_number": 216 }, { "cell_type": "code", "collapsed": false, "input": "s2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 217, "text": "a -2.1\nc 3.6\ne -1.5\nf 4.0\ng 3.1\ndtype: float64" } ], "prompt_number": 217 }, { "cell_type": "code", "collapsed": false, "input": "s1 + s2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 218, "text": "a 5.2\nc 1.1\nd NaN\ne 0.0\nf NaN\ng NaN\ndtype: float64" } ], "prompt_number": 218 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc11c\ub85c \uacb9\uce58\ub294 \uc0c9\uc778\uc774 \uc5c6\ub2e4\uba74 \ub370\uc774\ud130\ub294 NA \uac12\uc774 \ub41c\ub2e4.\n\n- \uc0b0\uc220\uc5f0\uc0b0 \uc2dc \ub204\ub77d\ub41c \uac12\uc740 \uc804\ud30c\n- DataFrame\uc5d0\uc11c\ub294 \ub85c\uc6b0\uc640 \uce7c\ub7fc \ubaa8\ub450\uc5d0 \uc801\uc6a9" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "DataFrame\uacfc Series\uc758 \ucc28\uc774\uc810\uc740??" }, { "cell_type": "code", "collapsed": false, "input": "df1 = DataFrame(np.arange(9.).reshape((3, 3)), columns=list('bcd'),\n index=['Ohio', 'Texas', 'Colorado'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 219 }, { "cell_type": "code", "collapsed": false, "input": "df2 = DataFrame(np.arange(12.).reshape((4, 3)), columns=list('bde'),\n index=['Utah', 'Ohio', 'Texas', 'Oregon'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 220 }, { "cell_type": "code", "collapsed": false, "input": "df1", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bcd
Ohio 0 1 2
Texas 3 4 5
Colorado 6 7 8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 221, "text": " b c d\nOhio 0 1 2\nTexas 3 4 5\nColorado 6 7 8" } ], "prompt_number": 221 }, { "cell_type": "code", "collapsed": false, "input": "df2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah 0 1 2
Ohio 3 4 5
Texas 6 7 8
Oregon 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 222, "text": " b d e\nUtah 0 1 2\nOhio 3 4 5\nTexas 6 7 8\nOregon 9 10 11" } ], "prompt_number": 222 }, { "cell_type": "code", "collapsed": false, "input": "df1 + df2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bcde
ColoradoNaNNaNNaNNaN
Ohio 3NaN 6NaN
OregonNaNNaNNaNNaN
Texas 9NaN 12NaN
UtahNaNNaNNaNNaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 223, "text": " b c d e\nColorado NaN NaN NaN NaN\nOhio 3 NaN 6 NaN\nOregon NaN NaN NaN NaN\nTexas 9 NaN 12 NaN\nUtah NaN NaN NaN NaN" } ], "prompt_number": 223 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc0b0\uc220\uc5f0\uc0b0 \uba54\uc11c\ub4dc\uc5d0 \ucc44\uc6cc \ub123\uc744 \uac12 \uc9c0\uc815\ud558\uae30" }, { "cell_type": "code", "collapsed": false, "input": "df1 = DataFrame(np.arange(12.).reshape((3, 4)), columns=list('abcd'))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 224 }, { "cell_type": "code", "collapsed": false, "input": "df2 = DataFrame(np.arange(20.).reshape((4, 5)), columns=list('abcde'))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 225 }, { "cell_type": "code", "collapsed": false, "input": "df1", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcd
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 226, "text": " a b c d\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11" } ], "prompt_number": 226 }, { "cell_type": "code", "collapsed": false, "input": "df2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
3 15 16 17 18 19
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 227, "text": " a b c d e\n0 0 1 2 3 4\n1 5 6 7 8 9\n2 10 11 12 13 14\n3 15 16 17 18 19" } ], "prompt_number": 227 }, { "cell_type": "code", "collapsed": false, "input": "df1 + df2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 2 4 6NaN
1 9 11 13 15NaN
2 18 20 22 24NaN
3NaNNaNNaNNaNNaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 228, "text": " a b c d e\n0 0 2 4 6 NaN\n1 9 11 13 15 NaN\n2 18 20 22 24 NaN\n3 NaN NaN NaN NaN NaN" } ], "prompt_number": 228 }, { "cell_type": "code", "collapsed": false, "input": "# fill value=0\uc778\ub370 \uc65c 4,9,14,19\ub85c \ucc44\uc6cc\uc9c0\uc9c0??\ndf1.add(df2, fill_value=0)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 2 4 6 4
1 9 11 13 15 9
2 18 20 22 24 14
3 15 16 17 18 19
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 229, "text": " a b c d e\n0 0 2 4 6 4\n1 9 11 13 15 9\n2 18 20 22 24 14\n3 15 16 17 18 19" } ], "prompt_number": 229 }, { "cell_type": "code", "collapsed": false, "input": "df1.add(df2)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 2 4 6NaN
1 9 11 13 15NaN
2 18 20 22 24NaN
3NaNNaNNaNNaNNaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 232, "text": " a b c d e\n0 0 2 4 6 NaN\n1 9 11 13 15 NaN\n2 18 20 22 24 NaN\n3 NaN NaN NaN NaN NaN" } ], "prompt_number": 232 }, { "cell_type": "code", "collapsed": false, "input": "# \uc544\ud558! \uc6d0\ub798\uc758 df2 \uac12\uc5d0 fill_value\uc758 \uac12\uc744 \ub354\ud558\ub294\uad70!!\ndf1.add(df2, fill_value=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 2 4 6 5
1 9 11 13 15 10
2 18 20 22 24 15
3 16 17 18 19 20
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 234, "text": " a b c d e\n0 0 2 4 6 5\n1 9 11 13 15 10\n2 18 20 22 24 15\n3 16 17 18 19 20" } ], "prompt_number": 234 }, { "cell_type": "code", "collapsed": false, "input": "df1.add(df2, fill_value=2)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 2 4 6 6
1 9 11 13 15 11
2 18 20 22 24 16
3 17 18 19 20 21
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 236, "text": " a b c d e\n0 0 2 4 6 6\n1 9 11 13 15 11\n2 18 20 22 24 16\n3 17 18 19 20 21" } ], "prompt_number": 236 }, { "cell_type": "code", "collapsed": false, "input": "# \uc6d0\ub798 \ub0b4\uac00 \uc0dd\uac01\ud588\ub358 \ud568\uc218\uc758 \uc5ed\ud560\uc774\uc5c8\uc9c0\ub9cc \uc798\ubabb\ub41c \uc0dd\uac01\uc778\ub4ef.\ndf1.reindex(columns=df2.columns, fill_value=0)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcde
0 0 1 2 3 0
1 4 5 6 7 0
2 8 9 10 11 0
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 237, "text": " a b c d e\n0 0 1 2 3 0\n1 4 5 6 7 0\n2 8 9 10 11 0" } ], "prompt_number": 237 }, { "cell_type": "markdown", "metadata": {}, "source": "####DataFrame\uacfc Series \uac04\uc758 \uc5f0\uc0b0" }, { "cell_type": "code", "collapsed": false, "input": "arr = np.arange(12.).reshape((3, 4))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 238 }, { "cell_type": "code", "collapsed": false, "input": "arr", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 239, "text": "array([[ 0., 1., 2., 3.],\n [ 4., 5., 6., 7.],\n [ 8., 9., 10., 11.]])" } ], "prompt_number": 239 }, { "cell_type": "code", "collapsed": false, "input": "arr[0]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 240, "text": "array([ 0., 1., 2., 3.])" } ], "prompt_number": 240 }, { "cell_type": "code", "collapsed": false, "input": "arr - arr[0]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 241, "text": "array([[ 0., 0., 0., 0.],\n [ 4., 4., 4., 4.],\n [ 8., 8., 8., 8.]])" } ], "prompt_number": 241 }, { "cell_type": "code", "collapsed": false, "input": "arr - arr[1]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 242, "text": "array([[-4., -4., -4., -4.],\n [ 0., 0., 0., 0.],\n [ 4., 4., 4., 4.]])" } ], "prompt_number": 242 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ube0c\ub85c\ub4dc\uce90\uc2a4\ud305" }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(np.arange(12.).reshape((4, 3)), columns=list('bde'),\n index=['Utah', 'Ohio', 'Texas', 'Oregon'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": "series = frame.ix[0]", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 244 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah 0 1 2
Ohio 3 4 5
Texas 6 7 8
Oregon 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 245, "text": " b d e\nUtah 0 1 2\nOhio 3 4 5\nTexas 6 7 8\nOregon 9 10 11" } ], "prompt_number": 245 }, { "cell_type": "code", "collapsed": false, "input": "series", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 246, "text": "b 0\nd 1\ne 2\nName: Utah, dtype: float64" } ], "prompt_number": 246 }, { "cell_type": "code", "collapsed": false, "input": "frame - series", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah 0 0 0
Ohio 3 3 3
Texas 6 6 6
Oregon 9 9 9
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 247, "text": " b d e\nUtah 0 0 0\nOhio 3 3 3\nTexas 6 6 6\nOregon 9 9 9" } ], "prompt_number": 247 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uae30\ubcf8\uc801\uc73c\ub85c DataFrame \uacfc Series \uac04\uc758 \uc0b0\uc220\uc5f0\uc0b0\uc740 Series\uc758 \uc0c9\uc778\uc744 DataFrame\uc758 \uce7c\ub7fc\uc5d0 \ub9de\ucd94\uace0 \uc544\ub798 \ub85c\uc6b0\ub85c \uc804\ud30c\n\n####\ub9cc\uc57d \uc0c9\uc778 \uac12\uc744 DataFrame\uc758 \uce7c\ub7fc\uc774\ub098 Series\uc758 \uc0c9\uc778\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc5c6\ub2e4\uba74 \uadf8 \uac1d\uccb4\ub294 \ud615\uc2dd\uc744 \ub9de\ucd94\uae30 \uc704\ud574 \uc7ac\uc0c9\uc778" }, { "cell_type": "code", "collapsed": false, "input": "series2 = Series(range(3), index=['b', 'e', 'f'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": "frame + series2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bdef
Utah 0NaN 3NaN
Ohio 3NaN 6NaN
Texas 6NaN 9NaN
Oregon 9NaN 12NaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 249, "text": " b d e f\nUtah 0 NaN 3 NaN\nOhio 3 NaN 6 NaN\nTexas 6 NaN 9 NaN\nOregon 9 NaN 12 NaN" } ], "prompt_number": 249 }, { "cell_type": "code", "collapsed": false, "input": "series2, type(series2)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": "(b 0\ne 1\nf 2\ndtype: int64, pandas.core.series.Series)" } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah 0 1 2
Ohio 3 4 5
Texas 6 7 8
Oregon 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 251, "text": " b d e\nUtah 0 1 2\nOhio 3 4 5\nTexas 6 7 8\nOregon 9 10 11" } ], "prompt_number": 251 }, { "cell_type": "markdown", "metadata": {}, "source": "- \uac01 \ub85c\uc6b0\uc5d0 \ub300\ud574 \uc5f0\uc0b0\uc744 \uc218\ud589\ud558\uace0 \uc2f6\ub2e4\uba74 \uc0b0\uc220\uc5f0\uc0b0 \uba54\uc11c\ub4dc \uc0ac\uc6a9" }, { "cell_type": "code", "collapsed": false, "input": "series3 = frame['d']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 252 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah 0 1 2
Ohio 3 4 5
Texas 6 7 8
Oregon 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 253, "text": " b d e\nUtah 0 1 2\nOhio 3 4 5\nTexas 6 7 8\nOregon 9 10 11" } ], "prompt_number": 253 }, { "cell_type": "code", "collapsed": false, "input": "series3", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 254, "text": "Utah 1\nOhio 4\nTexas 7\nOregon 10\nName: d, dtype: float64" } ], "prompt_number": 254 }, { "cell_type": "code", "collapsed": false, "input": "# \uc778\uc790\ub85c \ub118\uae30\ub294 axis \uac12\uc740 \uc5f0\uc0b0\uc744 \uc801\uc6a9\ud560 \ucd95 \ubc88\ud638\n# axis=0\uc740 DataFrame\uc758 \ub85c\uc6b0\ub97c \ub530\ub77c \uc5f0\uc0b0\uc744 \uc218\ud589\nframe.sub(series3, axis=0)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah-1 0 1
Ohio-1 0 1
Texas-1 0 1
Oregon-1 0 1
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 256, "text": " b d e\nUtah -1 0 1\nOhio -1 0 1\nTexas -1 0 1\nOregon -1 0 1" } ], "prompt_number": 256 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.5 \ud568\uc218 \uc801\uc6a9\uacfc \ub9e4\ud551" }, { "cell_type": "markdown", "metadata": {}, "source": "- pandas \uac1d\uccb4\uc5d0\ub3c4 NumPy\uc758 \uc720\ub2c8\ubc84\uc15c \ud568\uc218(\ubc30\uc5f4\uc758 \uac01 \uc6d0\uc18c\uc5d0 \uc801\uc6a9\ub418\ub294 \uba54\uc11c\ub4dc)\ub97c \uc801\uc6a9 \uac00\ub2a5" }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(np.random.randn(4, 3), columns=list('bde'),\n index=['Utah', 'Ohio', 'Texas', 'Oregon'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 257 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah-0.080118-1.050124-2.482035
Ohio 1.629936-2.184845-0.508522
Texas 0.000033 0.497823-0.496307
Oregon-0.188822-0.411298 2.236104
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 258, "text": " b d e\nUtah -0.080118 -1.050124 -2.482035\nOhio 1.629936 -2.184845 -0.508522\nTexas 0.000033 0.497823 -0.496307\nOregon -0.188822 -0.411298 2.236104" } ], "prompt_number": 258 }, { "cell_type": "code", "collapsed": false, "input": "np.abs(frame)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah 0.080118 1.050124 2.482035
Ohio 1.629936 2.184845 0.508522
Texas 0.000033 0.497823 0.496307
Oregon 0.188822 0.411298 2.236104
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 259, "text": " b d e\nUtah 0.080118 1.050124 2.482035\nOhio 1.629936 2.184845 0.508522\nTexas 0.000033 0.497823 0.496307\nOregon 0.188822 0.411298 2.236104" } ], "prompt_number": 259 }, { "cell_type": "markdown", "metadata": {}, "source": "- \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ub610 \ub2e4\ub978 \uc5f0\uc0b0\uc740 \uac01 \ub85c\uc6b0\ub098 \uce7c\ub7fc\uc758 1\ucc28\uc6d0 \ubc30\uc5f4\uc5d0 \ud568\uc218\ub97c \uc801\uc6a9\ud558\ub294 \uac83\n- DataFrame\uc758 apply \uba54\uc11c\ub4dc\ub97c \ud1b5\ud574 \uc218\ud589" }, { "cell_type": "code", "collapsed": false, "input": "f = lambda x: x.max() - x.min()", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": "# Applies function along input axis of DataFrame. \n# Objects passed to functions are Series objects having index either the DataFrame's index(axis=0)\n# or the columns (axis=1).\n# Return type depends on whether passed function aggregates\n\nframe.apply?", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": "frame.apply(f)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 261, "text": "b 1.818758\nd 2.682668\ne 4.718139\ndtype: float64" } ], "prompt_number": 261 }, { "cell_type": "code", "collapsed": false, "input": "frame.apply(f, axis=1)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 262, "text": "Utah 2.401917\nOhio 3.814781\nTexas 0.994130\nOregon 2.647402\ndtype: float64" } ], "prompt_number": 262 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah-0.080118-1.050124-2.482035
Ohio 1.629936-2.184845-0.508522
Texas 0.000033 0.497823-0.496307
Oregon-0.188822-0.411298 2.236104
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 263, "text": " b d e\nUtah -0.080118 -1.050124 -2.482035\nOhio 1.629936 -2.184845 -0.508522\nTexas 0.000033 0.497823 -0.496307\nOregon -0.188822 -0.411298 2.236104" } ], "prompt_number": 263 }, { "cell_type": "markdown", "metadata": {}, "source": "###axis\uc758 \ub85c\uc6b0, \uceec\ub7fc \uad6c\ubd84\n\n####\ub85c\uc6b0 \n- frame.sub(series3, **axis=0**) \n- frame.apply(f, **aixs=1**)\n- df.sum(**axis=1**)\n\n####\uceec\ub7fc\n- frame.sort_index(**axis=1**)\n\n\n#### DataFrame\uc5d0\uc11c axis=\n\n- 0: row\n- 1: column" }, { "cell_type": "markdown", "metadata": {}, "source": "- \ubc30\uc5f4\uc758 \ud569\uacc4\ub098 \ud3c9\uade0\uac19\uc740 \uc77c\ubc18\uc801\uc778 \ud1b5\uacc4\ub294 DataFrame\uc758 \uba54\uc11c\ub4dc\ub85c \uc788\uc73c\ubbc0\ub85c apply \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud574\uc57c\ub9cc \ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4\n- apply \uba54\uc11c\ub4dc\uc5d0 \uc804\ub2ec\ub41c \ud568\uc218\ub294 \uc2a4\uce7c\ub77c \uac12\uc744 \ubc18\ud658\ud560 \ud544\uc694 \uc5c6\uc73c\uba70, Series \ub610\ub294 \uc5ec\ub7ec \uac12\uc744 \ubc18\ud658\ud574\ub3c4 \ub41c\ub2e4." }, { "cell_type": "code", "collapsed": false, "input": "def f(x):\n return Series([x.min(), x.max()], index=['min', 'max'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 264 }, { "cell_type": "code", "collapsed": false, "input": "frame.apply(f)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
min-0.188822-2.184845-2.482035
max 1.629936 0.497823 2.236104
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 267, "text": " b d e\nmin -0.188822 -2.184845 -2.482035\nmax 1.629936 0.497823 2.236104" } ], "prompt_number": 267 }, { "cell_type": "code", "collapsed": false, "input": "type(frame.apply(f))", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 268, "text": "pandas.core.frame.DataFrame" } ], "prompt_number": 268 }, { "cell_type": "code", "collapsed": false, "input": "format = lambda x: '%.2f' % x", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 269 }, { "cell_type": "code", "collapsed": false, "input": "frame.applymap(format)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bde
Utah -0.08 -1.05 -2.48
Ohio 1.63 -2.18 -0.51
Texas 0.00 0.50 -0.50
Oregon -0.19 -0.41 2.24
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 270, "text": " b d e\nUtah -0.08 -1.05 -2.48\nOhio 1.63 -2.18 -0.51\nTexas 0.00 0.50 -0.50\nOregon -0.19 -0.41 2.24" } ], "prompt_number": 270 }, { "cell_type": "code", "collapsed": false, "input": "frame['e'].map(format)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 271, "text": "Utah -2.48\nOhio -0.51\nTexas -0.50\nOregon 2.24\nName: e, dtype: object" } ], "prompt_number": 271 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.6 \uc815\ub82c\uacfc \uc21c\uc704" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(range(4), index=['d', 'a', 'b', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 272 }, { "cell_type": "code", "collapsed": false, "input": "obj.sort_index()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 273, "text": "a 1\nb 2\nc 3\nd 0\ndtype: int64" } ], "prompt_number": 273 }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(np.arange(8).reshape((2, 4)), index=['three', 'one'],\n columns=['d', 'a', 'b', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 274 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
dabc
three 0 1 2 3
one 4 5 6 7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 275, "text": " d a b c\nthree 0 1 2 3\none 4 5 6 7" } ], "prompt_number": 275 }, { "cell_type": "code", "collapsed": false, "input": "frame.sort_index()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
dabc
one 4 5 6 7
three 0 1 2 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 276, "text": " d a b c\none 4 5 6 7\nthree 0 1 2 3" } ], "prompt_number": 276 }, { "cell_type": "code", "collapsed": false, "input": "frame.sort_index(axis=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcd
three 1 2 3 0
one 5 6 7 4
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 277, "text": " a b c d\nthree 1 2 3 0\none 5 6 7 4" } ], "prompt_number": 277 }, { "cell_type": "code", "collapsed": false, "input": "frame.sort_index(axis=1, ascending=False)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
dcba
three 0 3 2 1
one 4 7 6 5
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 278, "text": " d c b a\nthree 0 3 2 1\none 4 7 6 5" } ], "prompt_number": 278 }, { "cell_type": "code", "collapsed": false, "input": "obj = Series([4, 7, -3, 2])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 279 }, { "cell_type": "code", "collapsed": false, "input": "obj.order()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 280, "text": "2 -3\n3 2\n0 4\n1 7\ndtype: int64" } ], "prompt_number": 280 }, { "cell_type": "code", "collapsed": false, "input": "obj = Series([4, np.nan, 7, np.nan, -3, 2])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 281 }, { "cell_type": "code", "collapsed": false, "input": "obj.order()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 282, "text": "4 -3\n5 2\n0 4\n2 7\n1 NaN\n3 NaN\ndtype: float64" } ], "prompt_number": 282 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc815\ub82c\uc2dc NaN\uc740 \uac00\uc7a5 \ub9c8\uc9c0\ub9c9\uc5d0 \uc704\uce58\n
\n4    -3\n5     2\n0     4\n2     7\n1   NaN\n3   NaN\n
" }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame({'b': [4, 7, -3, 2],\n 'a': [0, 1, 0, 1]})", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 283 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
0 0 4
1 1 7
2 0-3
3 1 2
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 284, "text": " a b\n0 0 4\n1 1 7\n2 0 -3\n3 1 2" } ], "prompt_number": 284 }, { "cell_type": "code", "collapsed": false, "input": "frame.sort_index(by='b')", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
2 0-3
3 1 2
0 0 4
1 1 7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 285, "text": " a b\n2 0 -3\n3 1 2\n0 0 4\n1 1 7" } ], "prompt_number": 285 }, { "cell_type": "code", "collapsed": false, "input": "frame.sort_index(by=['a', 'b'])", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
2 0-3
0 0 4
3 1 2
1 1 7
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 286, "text": " a b\n2 0 -3\n0 0 4\n3 1 2\n1 1 7" } ], "prompt_number": 286 }, { "cell_type": "markdown", "metadata": {}, "source": "###\ubb58 \uae30\uc900\uc73c\ub85c rank \ud558\ub294\uc9c0 \ub3c4\uc800\ud788 \ubaa8\ub974\uaca0\ub2e4..!!" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series([7, -5, 7, 4, 2, 0, 4])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 287 }, { "cell_type": "code", "collapsed": false, "input": "obj.rank()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 288, "text": "0 6.5\n1 1.0\n2 6.5\n3 4.5\n4 3.0\n5 2.0\n6 4.5\ndtype: float64" } ], "prompt_number": 288 }, { "cell_type": "code", "collapsed": false, "input": "obj.rank(method='first')", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 289, "text": "0 6\n1 1\n2 7\n3 4\n4 3\n5 2\n6 5\ndtype: float64" } ], "prompt_number": 289 }, { "cell_type": "code", "collapsed": false, "input": "obj.rank(ascending=False, method='max')", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 290, "text": "0 2\n1 7\n2 2\n3 4\n4 5\n5 6\n6 4\ndtype: float64" } ], "prompt_number": 290 }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame({'b': [4.3, 7, -3, 2],\n 'a':[0, 1, 0, 1],\n 'c':[-2, 5, 8, -2.5]})", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 291 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abc
0 0 4.3-2.0
1 1 7.0 5.0
2 0-3.0 8.0
3 1 2.0-2.5
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 292, "text": " a b c\n0 0 4.3 -2.0\n1 1 7.0 5.0\n2 0 -3.0 8.0\n3 1 2.0 -2.5" } ], "prompt_number": 292 }, { "cell_type": "code", "collapsed": false, "input": "frame.rank(axis=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abc
0 2 3 1
1 1 3 2
2 2 1 3
3 2 3 1
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 293, "text": " a b c\n0 2 3 1\n1 1 3 2\n2 2 1 3\n3 2 3 1" } ], "prompt_number": 293 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.2.7 \uc911\ubcf5 \uc0c9\uc778" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(range(5), index=['a', 'a', 'b', 'b', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 294 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 295, "text": "a 0\na 1\nb 2\nb 3\nc 4\ndtype: int64" } ], "prompt_number": 295 }, { "cell_type": "code", "collapsed": false, "input": "obj.index.is_unique", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 296, "text": "False" } ], "prompt_number": 296 }, { "cell_type": "markdown", "metadata": {}, "source": "- \uc911\ubcf5\ub418\ub294 \uc0c9\uc778 \uac12\uc774 \uc788\uc73c\uba74 \uc0c9\uc778\uc744 \uc774\uc6a9\ud55c \ub370\uc774\ud130 \uc120\ud0dd\uc740 \ub2e4\ub974\uac8c \ub3d9\uc791\ud558\uace0 \ud558\ub098\uc758 Series \uac1d\uccb4 \ubc18\ud658\n- \uc911\ubcf5\ub418\ub294 \uc0c9\uc778 \uac12\uc774 \uc5c6\uc73c\uba74 \uc0c9\uc778\uc744 \uc774\uc6a9\ud55c \ub370\uc774\ud130 \uc120\ud0dd\uc740 \uc2a4\uce7c\ub77c \uac12\uc744 \ubc18\ud658" }, { "cell_type": "code", "collapsed": false, "input": "obj['a']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 297, "text": "array([0, 1])" } ], "prompt_number": 297 }, { "cell_type": "code", "collapsed": false, "input": "obj['c']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 298, "text": "4" } ], "prompt_number": 298 }, { "cell_type": "code", "collapsed": false, "input": "df = DataFrame(np.random.randn(4, 3), index=['a', 'a', 'b', 'b'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 299 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
a 0.084110-0.197321 0.355402
a 0.164190-0.754448 0.488057
b 1.047562-1.282640 1.005273
b-1.354820-1.175588-0.820554
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 300, "text": " 0 1 2\na 0.084110 -0.197321 0.355402\na 0.164190 -0.754448 0.488057\nb 1.047562 -1.282640 1.005273\nb -1.354820 -1.175588 -0.820554" } ], "prompt_number": 300 }, { "cell_type": "code", "collapsed": false, "input": "df.ix['b']", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
b 1.047562-1.282640 1.005273
b-1.354820-1.175588-0.820554
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 301, "text": " 0 1 2\nb 1.047562 -1.282640 1.005273\nb -1.354820 -1.175588 -0.820554" } ], "prompt_number": 301 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": "5.3 \uae30\uc220\ud1b5\uacc4 \uacc4\uc0b0\uacfc \uc694\uc57d" }, { "cell_type": "markdown", "metadata": {}, "source": "- pandas \uac1d\uccb4\ub294 \uc77c\ubc18\uc801\uc778 \uc218\ud559 \uba54\uc11c\ub4dc\uc640 \ud1b5\uacc4 \uba54\uc11c\ub4dc \uc874\uc7ac\n- \uc774 \uba54\uc11c\ub4dc\ub294 \ub300\ubd80\ubd84 Series\ub098 DataFrame \ud558\ub098\uc758 \uce7c\ub7fc\uc774\ub098 \ub85c\uc6b0\uc5d0\uc11c \ub2e8\uc77c \uac12(\ud569\uc774\ub098 \ud3c9\uade0 \uac19\uc740)\uc744 \uad6c\ud558\ub294 \ucd95\uc18c \ud639\uc740 \uc694\uc57d\ud1b5\uacc4 \ubc94\uc8fc\uc5d0 \uc18d\ud568\n- \ucc98\uc74c\ubd80\ud130 \ub204\ub77d\ub41c \ub370\uc774\ud130\ub97c \uc81c\uc678\ud558\ub3c4\ub85d \uc124\uacc4" }, { "cell_type": "code", "collapsed": false, "input": "df = DataFrame([[1.4, np.nan], [7.1, -4.5],\n [np.nan, np.nan], [0.75, -1.3]],\n index=['a', 'b', 'c', 'd'],\n columns=['one', 'two'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 302 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwo
a 1.40 NaN
b 7.10-4.5
c NaN NaN
d 0.75-1.3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 303, "text": " one two\na 1.40 NaN\nb 7.10 -4.5\nc NaN NaN\nd 0.75 -1.3" } ], "prompt_number": 303 }, { "cell_type": "code", "collapsed": false, "input": "df.sum()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 304, "text": "one 9.25\ntwo -5.80\ndtype: float64" } ], "prompt_number": 304 }, { "cell_type": "code", "collapsed": false, "input": "# \uac01 \ub85c\uc6b0\uc758 \ud569 \ubc18\ud658\ndf.sum(axis=1)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 305, "text": "a 1.40\nb 2.60\nc NaN\nd -0.55\ndtype: float64" } ], "prompt_number": 305 }, { "cell_type": "code", "collapsed": false, "input": "df.mean(axis=1, skipna=False)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 306, "text": "a NaN\nb 1.300\nc NaN\nd -0.275\ndtype: float64" } ], "prompt_number": 306 }, { "cell_type": "code", "collapsed": false, "input": "df.idxmax()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 307, "text": "one b\ntwo d\ndtype: object" } ], "prompt_number": 307 }, { "cell_type": "code", "collapsed": false, "input": "# cumulative. \uc544\ub798\ub85c \uac08\uc218\ub85d \ub204\uc0b0 \ub428\ndf.cumsum()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwo
a 1.40 NaN
b 8.50-4.5
c NaN NaN
d 9.25-5.8
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 310, "text": " one two\na 1.40 NaN\nb 8.50 -4.5\nc NaN NaN\nd 9.25 -5.8" } ], "prompt_number": 310 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwo
a 1.40 NaN
b 7.10-4.5
c NaN NaN
d 0.75-1.3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 311, "text": " one two\na 1.40 NaN\nb 7.10 -4.5\nc NaN NaN\nd 0.75 -1.3" } ], "prompt_number": 311 }, { "cell_type": "code", "collapsed": false, "input": "df.describe()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
onetwo
count 3.000000 2.000000
mean 3.083333-2.900000
std 3.493685 2.262742
min 0.750000-4.500000
25% 1.075000-3.700000
50% 1.400000-2.900000
75% 4.250000-2.100000
max 7.100000-1.300000
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 312, "text": " one two\ncount 3.000000 2.000000\nmean 3.083333 -2.900000\nstd 3.493685 2.262742\nmin 0.750000 -4.500000\n25% 1.075000 -3.700000\n50% 1.400000 -2.900000\n75% 4.250000 -2.100000\nmax 7.100000 -1.300000" } ], "prompt_number": 312 }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(['a', 'a', 'b', 'c'] * 4)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 313 }, { "cell_type": "code", "collapsed": false, "input": "obj.describe()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 314, "text": "count 16\nunique 3\ntop a\nfreq 8\ndtype: object" } ], "prompt_number": 314 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 315, "text": "0 a\n1 a\n2 b\n3 c\n4 a\n5 a\n6 b\n7 c\n8 a\n9 a\n10 b\n11 c\n12 a\n13 a\n14 b\n15 c\ndtype: object" } ], "prompt_number": 315 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.3.1 \uc0c1\uad00\uad00\uacc4\uc640 \uacf5\ubd84\uc0b0" }, { "cell_type": "code", "collapsed": false, "input": "import pandas.io.data as web\n\nall_data = {}\nfor ticker in ['AAPL', 'IBM', 'MSFT', 'GOOG']:\n all_data[ticker] = web.get_data_yahoo(ticker, '1/1/2000', '1/1/2010')\n\nprice = DataFrame({tic: data['Adj Close']\n for tic, data in all_data.iteritems()})\nvolume = DataFrame({tic: data['Volume']\n for tic, data in all_data.iteritems()})", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 319 }, { "cell_type": "code", "collapsed": false, "input": "returns = price.pct_change()", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 320 }, { "cell_type": "code", "collapsed": false, "input": "returns.tail()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AAPLGOOGIBMMSFT
Date
2009-12-24 0.034337 0.011117 0.004404 0.002894
2009-12-28 0.012293 0.007098 0.013319 0.005411
2009-12-29-0.011849-0.005571-0.003429 0.006817
2009-12-30 0.012141 0.005376 0.005407-0.013542
2009-12-31-0.004326-0.004416-0.012548-0.015535
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 322, "text": " AAPL GOOG IBM MSFT\nDate \n2009-12-24 0.034337 0.011117 0.004404 0.002894\n2009-12-28 0.012293 0.007098 0.013319 0.005411\n2009-12-29 -0.011849 -0.005571 -0.003429 0.006817\n2009-12-30 0.012141 0.005376 0.005407 -0.013542\n2009-12-31 -0.004326 -0.004416 -0.012548 -0.015535" } ], "prompt_number": 322 }, { "cell_type": "code", "collapsed": false, "input": "price", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n<class 'pandas.core.frame.DataFrame'>\nDatetimeIndex: 2515 entries, 2000-01-03 00:00:00 to 2009-12-31 00:00:00\nData columns (total 4 columns):\nAAPL    2515  non-null values\nGOOG    1353  non-null values\nIBM     2515  non-null values\nMSFT    2515  non-null values\ndtypes: float64(4)\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 323, "text": "\nDatetimeIndex: 2515 entries, 2000-01-03 00:00:00 to 2009-12-31 00:00:00\nData columns (total 4 columns):\nAAPL 2515 non-null values\nGOOG 1353 non-null values\nIBM 2515 non-null values\nMSFT 2515 non-null values\ndtypes: float64(4)" } ], "prompt_number": 323 }, { "cell_type": "code", "collapsed": false, "input": "volume", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n<class 'pandas.core.frame.DataFrame'>\nDatetimeIndex: 2515 entries, 2000-01-03 00:00:00 to 2009-12-31 00:00:00\nData columns (total 4 columns):\nAAPL    2515  non-null values\nGOOG    1353  non-null values\nIBM     2515  non-null values\nMSFT    2515  non-null values\ndtypes: float64(1), int64(3)\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 324, "text": "\nDatetimeIndex: 2515 entries, 2000-01-03 00:00:00 to 2009-12-31 00:00:00\nData columns (total 4 columns):\nAAPL 2515 non-null values\nGOOG 1353 non-null values\nIBM 2515 non-null values\nMSFT 2515 non-null values\ndtypes: float64(1), int64(3)" } ], "prompt_number": 324 }, { "cell_type": "code", "collapsed": false, "input": "returns.head()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AAPLGOOGIBMMSFT
Date
2000-01-03 NaNNaN NaN NaN
2000-01-04-0.084387NaN-0.033954-0.033811
2000-01-05 0.014616NaN 0.035148 0.010450
2000-01-06-0.086435NaN-0.017288-0.033430
2000-01-07 0.047306NaN-0.004319 0.013187
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 325, "text": " AAPL GOOG IBM MSFT\nDate \n2000-01-03 NaN NaN NaN NaN\n2000-01-04 -0.084387 NaN -0.033954 -0.033811\n2000-01-05 0.014616 NaN 0.035148 0.010450\n2000-01-06 -0.086435 NaN -0.017288 -0.033430\n2000-01-07 0.047306 NaN -0.004319 0.013187" } ], "prompt_number": 325 }, { "cell_type": "code", "collapsed": false, "input": "returns.MSFT.corr(returns.IBM)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 326, "text": "0.49593101373594894" } ], "prompt_number": 326 }, { "cell_type": "code", "collapsed": false, "input": "returns.MSFT.cov(returns.IBM)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 327, "text": "0.00021593677445718774" } ], "prompt_number": 327 }, { "cell_type": "code", "collapsed": false, "input": "returns.corr()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AAPLGOOGIBMMSFT
AAPL 1.000000 0.470629 0.409913 0.424426
GOOG 0.470629 1.000000 0.390740 0.443446
IBM 0.409913 0.390740 1.000000 0.495931
MSFT 0.424426 0.443446 0.495931 1.000000
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 328, "text": " AAPL GOOG IBM MSFT\nAAPL 1.000000 0.470629 0.409913 0.424426\nGOOG 0.470629 1.000000 0.390740 0.443446\nIBM 0.409913 0.390740 1.000000 0.495931\nMSFT 0.424426 0.443446 0.495931 1.000000" } ], "prompt_number": 328 }, { "cell_type": "code", "collapsed": false, "input": "returns.cov()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AAPLGOOGIBMMSFT
AAPL 0.001027 0.000303 0.000252 0.000309
GOOG 0.000303 0.000580 0.000142 0.000205
IBM 0.000252 0.000142 0.000367 0.000216
MSFT 0.000309 0.000205 0.000216 0.000516
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 329, "text": " AAPL GOOG IBM MSFT\nAAPL 0.001027 0.000303 0.000252 0.000309\nGOOG 0.000303 0.000580 0.000142 0.000205\nIBM 0.000252 0.000142 0.000367 0.000216\nMSFT 0.000309 0.000205 0.000216 0.000516" } ], "prompt_number": 329 }, { "cell_type": "code", "collapsed": false, "input": "#Compute pairwise correlation of columns, excluding NA/null values\nreturns.corr?", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 330 }, { "cell_type": "code", "collapsed": false, "input": "# Compute pairwise covariance of columns, excluding NA/null values\nreturns.cov?", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 332 }, { "cell_type": "code", "collapsed": false, "input": "returns.corrwith(returns.IBM)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 333, "text": "AAPL 0.409913\nGOOG 0.390740\nIBM 1.000000\nMSFT 0.495931\ndtype: float64" } ], "prompt_number": 333 }, { "cell_type": "code", "collapsed": false, "input": "returns.corrwith(volume)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 334, "text": "AAPL -0.057553\nGOOG 0.062644\nIBM -0.007912\nMSFT -0.014285\ndtype: float64" } ], "prompt_number": 334 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.3.2 \uc720\uc77c \uac12, \uac12 \uc138\uae30, \uba64\ubc84\uc2ed" }, { "cell_type": "code", "collapsed": false, "input": "obj = Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 335 }, { "cell_type": "code", "collapsed": false, "input": "obj", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 339, "text": "0 c\n1 a\n2 d\n3 a\n4 a\n5 b\n6 b\n7 c\n8 c\ndtype: object" } ], "prompt_number": 339 }, { "cell_type": "code", "collapsed": false, "input": "uniques = obj.unique()", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 336 }, { "cell_type": "code", "collapsed": false, "input": "uniques", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 337, "text": "array(['c', 'a', 'd', 'b'], dtype=object)" } ], "prompt_number": 337 }, { "cell_type": "code", "collapsed": false, "input": "obj.value_counts()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 338, "text": "c 3\na 3\nb 2\nd 1\ndtype: int64" } ], "prompt_number": 338 }, { "cell_type": "code", "collapsed": false, "input": "pd.value_counts(obj.values, sort=False)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 341, "text": "a 3\nc 3\nb 2\nd 1\ndtype: int64" } ], "prompt_number": 341 }, { "cell_type": "code", "collapsed": false, "input": "pd.value_counts(obj.values, sort=True)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 342, "text": "c 3\na 3\nb 2\nd 1\ndtype: int64" } ], "prompt_number": 342 }, { "cell_type": "code", "collapsed": false, "input": "mask = obj.isin(['b', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 343 }, { "cell_type": "code", "collapsed": false, "input": "mask", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 344, "text": "0 True\n1 False\n2 False\n3 False\n4 False\n5 True\n6 True\n7 True\n8 True\ndtype: bool" } ], "prompt_number": 344 }, { "cell_type": "code", "collapsed": false, "input": "obj[mask]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 345, "text": "0 c\n5 b\n6 b\n7 c\n8 c\ndtype: object" } ], "prompt_number": 345 }, { "cell_type": "code", "collapsed": false, "input": "obj[True]", "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "True", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mobj\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mTrue\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/series.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 903\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 904\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 905\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 906\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mInvalidIndexError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 907\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/index.pyc\u001b[0m in \u001b[0;36mget_value\u001b[0;34m(self, series, key)\u001b[0m\n\u001b[1;32m 834\u001b[0m \u001b[0mk\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_values_from_object\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 835\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 836\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 837\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 838\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minferred_type\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'integer'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_value (pandas/index.c:2658)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_value (pandas/index.c:2473)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3177)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.Int64Engine._check_type (pandas/index.c:6304)\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: True" ] } ], "prompt_number": 346 }, { "cell_type": "code", "collapsed": false, "input": "data = DataFrame({'Qu1': [1, 3, 4, 3, 4],\n 'Qu2': [2, 3, 1, 2, 3],\n 'Qu3': [1, 5, 2, 4, 4]})", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 347 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Qu1Qu2Qu3
0 1 2 1
1 3 3 5
2 4 1 2
3 3 2 4
4 4 3 4
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 348, "text": " Qu1 Qu2 Qu3\n0 1 2 1\n1 3 3 5\n2 4 1 2\n3 3 2 4\n4 4 3 4" } ], "prompt_number": 348 }, { "cell_type": "code", "collapsed": false, "input": "result = data.apply(pd.value_counts).fillna(0)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 349 }, { "cell_type": "code", "collapsed": false, "input": "result", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Qu1Qu2Qu3
1 1 1 1
2 0 2 1
3 2 2 0
4 2 0 2
5 0 0 1
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 350, "text": " Qu1 Qu2 Qu3\n1 1 1 1\n2 0 2 1\n3 2 2 0\n4 2 0 2\n5 0 0 1" } ], "prompt_number": 350 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": "5.4 \ub204\ub77d\ub41c \ub370\uc774\ud130 \ucc98\ub9ac\ud558\uae30" }, { "cell_type": "markdown", "metadata": {}, "source": "- \ub204\ub77d\ub41c \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\ub294 \uc77c\uc740 \ub370\uc774\ud130 \ubd84\uc11d \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \ud754\uc774 \uc788\ub294 \uc77c\n- \ub204\ub77d \ub370\uc774\ud130\ub97c \uac00\ub2a5\ud55c \uc27d\uac8c \ucc98\ub9ac\n- \ubaa8\ub4e0 \uae30\uc220\ud1b5\uacc4\ub294 \ub204\ub77d\ub41c \ub370\uc774\ud130\ub97c \ubc30\uc81c\ud558\uace0 \ucc98\ub9ac\n- \ub204\ub77d\ub41c \ub370\uc774\ud130\ub97c \uc2e4\uc218\ub4e0 \uc544\ub2c8\ub4e0 \ubaa8\ub450 NaN(Not a Number)\uc73c\ub85c \ucde8\uae09\n- \ub204\ub77d\ub41c \uac12\uc744 \uc27d\uac8c \ucc3e\uc744 \uc218 \uc788\ub294 \ud30c\uc218\ubcd1 \uc5ed\ud560" }, { "cell_type": "code", "collapsed": false, "input": "string_data = Series(['aardvark', 'artichoke', np.nan, 'avocado'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 353 }, { "cell_type": "code", "collapsed": false, "input": "string_data", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 354, "text": "0 aardvark\n1 artichoke\n2 NaN\n3 avocado\ndtype: object" } ], "prompt_number": 354 }, { "cell_type": "code", "collapsed": false, "input": "string_data.isnull()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 355, "text": "0 False\n1 False\n2 True\n3 False\ndtype: bool" } ], "prompt_number": 355 }, { "cell_type": "code", "collapsed": false, "input": "string_data[0] = None", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 356 }, { "cell_type": "code", "collapsed": false, "input": "string_data.isnull()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 357, "text": "0 True\n1 False\n2 True\n3 False\ndtype: bool" } ], "prompt_number": 357 }, { "cell_type": "markdown", "metadata": {}, "source": "####\uc790\uafb8 \ub4dc\ub294 \uc758\ubb38\uc810\n\n1. \uc774\uac78 \ubc30\uc6cc\uc11c \uc5b4\ub514\uc5d0 \uc368\uba39\uc744 \uc218 \uc788\uc744\uae4c?\n1. \uc9c0\uae08 \ub0b4\uac8c \ub2f9\uc7a5 \ud544\uc694\ud55c \uac83\uc778\uac00? \ud604\uc5c5\uc5d0\uc11c \uc774 \uae30\uc220\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc73c\uba74 \uc9c4\ud589\ud560 \uc218 \uc5c6\ub294\uac00?\n1. \ubbf8\ub798\ub97c \uc704\ud55c \ud22c\uc790\ub85c \ubd10\uc57c \ub418\ub098?\n1. \uc9c1\uc811 \uc801\uc6a9\ud574 \ubcfc \uc608\uc81c\ub4e4\uc774 \uc5c6\uc73c\ub2c8 \uc2ec\uc2ec\ud558\ub2e4. \uc608\uc81c\ub77c\ub3c4 \uc788\uc73c\uba74 \uc2e4\ud5d8\ud574 \ubcf4\uba74\uc11c \ud560 \uc218 \uc788\uc744\ud150\ub370. \ucc45\uc774 \ub108\ubb34 \ub2e8\uc870\ub86d\ub2e4. \uadf8\ub0e5 \ubb38\ubc95 \uacf5\ubd80\ud558\ub294 \ub290\ub08c?" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.4.1 \ub204\ub77d\ub41c \ub370\uc774\ud130 \uace8\ub77c\ub0b4\uae30" }, { "cell_type": "code", "collapsed": false, "input": "from numpy import nan as NA", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 358 }, { "cell_type": "code", "collapsed": false, "input": "data = Series([1, NA, 3.5, NA, 7])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 359 }, { "cell_type": "code", "collapsed": false, "input": "data.dropna()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 360, "text": "0 1.0\n2 3.5\n4 7.0\ndtype: float64" } ], "prompt_number": 360 }, { "cell_type": "code", "collapsed": false, "input": "data[data.notnull()]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 361, "text": "0 1.0\n2 3.5\n4 7.0\ndtype: float64" } ], "prompt_number": 361 }, { "cell_type": "markdown", "metadata": {}, "source": "###Series\uc640 DataFrame\uc758 \ucc28\uc774\uc810\uc740??\n\n- \uc774\uac78 \uc774\ud574\ud574\uc57c\uc9c0 \uc9c4\ub3c4\ub97c \ub098\uac08 \uc218 \uc788\uc744 \uac83 \uac19\ub2e4.\n- \uadf8\ub0e5 \ud30c\uc774\uc36c \ubb38\ubc95\uc774\uace0 \uc57d\uac04 \uc5b4\ub824\uc6b4 \uc815\ub3c4\ub77c \ub530\ub77c\uce58\uae30\ub294 \ud558\uc9c0\ub9cc \uc544\uc9c1 \uc5b4\ub5a4 \uc810\uc774 \ucc28\uc774\uac00 \ub098\ub294\uc9c0 \ubaa8\ub974\uaca0\ub2e4.\n- \uc774\uac78 \uc5b4\ub5bb\uac8c \ud558\uba74 \uc27d\uac8c \uc774\ud574\ud560 \uc218 \uc788\uc744\uae4c?" }, { "cell_type": "code", "collapsed": false, "input": "data = DataFrame([[1., 6.5, 3.], [1., NA, NA],\n [NA, NA, NA], [NA, 6.5, 3]])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 362 }, { "cell_type": "code", "collapsed": false, "input": "cleaned = data.dropna()", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 363 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0 1 6.5 3
1 1 NaNNaN
2NaN NaNNaN
3NaN 6.5 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 364, "text": " 0 1 2\n0 1 6.5 3\n1 1 NaN NaN\n2 NaN NaN NaN\n3 NaN 6.5 3" } ], "prompt_number": 364 }, { "cell_type": "code", "collapsed": false, "input": "cleaned", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0 1 6.5 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 365, "text": " 0 1 2\n0 1 6.5 3" } ], "prompt_number": 365 }, { "cell_type": "code", "collapsed": false, "input": "data.dropna(how='all')", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0 1 6.5 3
1 1 NaNNaN
3NaN 6.5 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 366, "text": " 0 1 2\n0 1 6.5 3\n1 1 NaN NaN\n3 NaN 6.5 3" } ], "prompt_number": 366 }, { "cell_type": "code", "collapsed": false, "input": "# Failed\ndata.dropna(how='one')", "language": "python", "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "do not recognize one", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdropna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhow\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'one'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/frame.pyc\u001b[0m in \u001b[0;36mdropna\u001b[0;34m(self, axis, how, thresh, subset)\u001b[0m\n\u001b[1;32m 2616\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2617\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhow\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2618\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'do not recognize %s'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mhow\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2619\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2620\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'must specify how or thresh'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: do not recognize one" ] } ], "prompt_number": 367 }, { "cell_type": "code", "collapsed": false, "input": "data[4] = NA", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 368 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
0124
0 1 6.5 3NaN
1 1 NaNNaNNaN
2NaN NaNNaNNaN
3NaN 6.5 3NaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 369, "text": " 0 1 2 4\n0 1 6.5 3 NaN\n1 1 NaN NaN NaN\n2 NaN NaN NaN NaN\n3 NaN 6.5 3 NaN" } ], "prompt_number": 369 }, { "cell_type": "code", "collapsed": false, "input": "data.dropna(axis=1, how='all')", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0 1 6.5 3
1 1 NaNNaN
2NaN NaNNaN
3NaN 6.5 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 370, "text": " 0 1 2\n0 1 6.5 3\n1 1 NaN NaN\n2 NaN NaN NaN\n3 NaN 6.5 3" } ], "prompt_number": 370 }, { "cell_type": "code", "collapsed": false, "input": "data.dropna(axis=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n
Int64Index([0, 1, 2, 3], dtype=int64)Empty DataFrame
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 371, "text": "Empty DataFrame\nColumns: []\nIndex: [0, 1, 2, 3]" } ], "prompt_number": 371 }, { "cell_type": "code", "collapsed": false, "input": "df = DataFrame(np.random.randn(7, 3))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 372 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660 0.996480-0.469911
1-2.670735-0.372844-1.976604
2-0.826885-1.888286-0.565196
3 1.242023 0.557712 1.083445
4-0.217213-0.434431 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 373, "text": " 0 1 2\n0 -0.284660 0.996480 -0.469911\n1 -2.670735 -0.372844 -1.976604\n2 -0.826885 -1.888286 -0.565196\n3 1.242023 0.557712 1.083445\n4 -0.217213 -0.434431 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 373 }, { "cell_type": "code", "collapsed": false, "input": "# \uc5ec\uae30\uc5d0\uc11c\ub294 :4\ub77c\uace0 \ud588\uc73c\uba74 \uc815\uc0c1\uc801\uc73c\ub85c\ub294 0,1,2,3\ub9cc \ud574\ub2f9\uc774 \ub418\uc57c \ub418\ub294\ub370 4\uae4c\uc9c0 \uc801\uc6a9\uc774 \ub418\ub124???\ndf.ix[:4, 1] = NA; df.ix[:2, 2] = NA", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 378 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660 NaN NaN
1-2.670735 NaN NaN
2-0.826885 NaN NaN
3 1.242023 NaN 1.083445
4-0.217213 NaN 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 379, "text": " 0 1 2\n0 -0.284660 NaN NaN\n1 -2.670735 NaN NaN\n2 -0.826885 NaN NaN\n3 1.242023 NaN 1.083445\n4 -0.217213 NaN 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 379 }, { "cell_type": "markdown", "metadata": {}, "source": "####thresh\n\n- \uba87 \uac1c \uc774\uc0c1\uc758 \uac12\uc774 \ub4e4\uc5b4\uc788\ub294 \ub85c\uc6b0\ub9cc \uc0b4\ud3b4\ubcf4\uace0 \uc2f6\uc744 \ub54c" }, { "cell_type": "code", "collapsed": false, "input": "df.dropna(thresh=3)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 380, "text": " 0 1 2\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 380 }, { "cell_type": "code", "collapsed": false, "input": "df.dropna(thresh=2)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
3 1.242023 NaN 1.083445
4-0.217213 NaN 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 381, "text": " 0 1 2\n3 1.242023 NaN 1.083445\n4 -0.217213 NaN 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 381 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.4.2 \ub204\ub77d\ub41c \uac12 \ucc44\uc6b0\uae30" }, { "cell_type": "markdown", "metadata": {}, "source": "- \ub204\ub77d\ub41c \uac12\uc744 \uc81c\uc678\uc2dc\ud0a4\uc9c0 \uc54a\uace0(\uc7a0\uc7ac\uc801\uc73c\ub85c \ub2e4\ub978 \ub370\uc774\ud130\ub3c4 \ud568\uaed8 \ubc84\ub824\uc9c8 \uac00\ub2a5\uc131\uc774 \uc788\ub2e4)" }, { "cell_type": "code", "collapsed": false, "input": "df.fillna(0)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660 0.000000 0.000000
1-2.670735 0.000000 0.000000
2-0.826885 0.000000 0.000000
3 1.242023 0.000000 1.083445
4-0.217213 0.000000 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 384, "text": " 0 1 2\n0 -0.284660 0.000000 0.000000\n1 -2.670735 0.000000 0.000000\n2 -0.826885 0.000000 0.000000\n3 1.242023 0.000000 1.083445\n4 -0.217213 0.000000 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 384 }, { "cell_type": "code", "collapsed": false, "input": "# dictionary \ud615\uc2dd\uc73c\ub85c \ubc1b\uc558\ub294\ub370 \uc55e\uc758 key\uac00 \uceec\ub7fc\uc744 \ub098\ud0c0\ub0c4\ndf.fillna({1: 0.5, 3: -1})", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660 0.500000 NaN
1-2.670735 0.500000 NaN
2-0.826885 0.500000 NaN
3 1.242023 0.500000 1.083445
4-0.217213 0.500000 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 387, "text": " 0 1 2\n0 -0.284660 0.500000 NaN\n1 -2.670735 0.500000 NaN\n2 -0.826885 0.500000 NaN\n3 1.242023 0.500000 1.083445\n4 -0.217213 0.500000 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 387 }, { "cell_type": "code", "collapsed": false, "input": "df.fillna({2:0.5, 1:-1})", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660-1.000000 0.500000
1-2.670735-1.000000 0.500000
2-0.826885-1.000000 0.500000
3 1.242023-1.000000 1.083445
4-0.217213-1.000000 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 389, "text": " 0 1 2\n0 -0.284660 -1.000000 0.500000\n1 -2.670735 -1.000000 0.500000\n2 -0.826885 -1.000000 0.500000\n3 1.242023 -1.000000 1.083445\n4 -0.217213 -1.000000 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 389 }, { "cell_type": "code", "collapsed": false, "input": "_ = df.fillna(0, inplace=True)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 396 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660 0.000000 0.000000
1-2.670735 0.000000 0.000000
2-0.826885 0.000000 0.000000
3 1.242023 0.000000 1.083445
4-0.217213 0.000000 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 397, "text": " 0 1 2\n0 -0.284660 0.000000 0.000000\n1 -2.670735 0.000000 0.000000\n2 -0.826885 0.000000 0.000000\n3 1.242023 0.000000 1.083445\n4 -0.217213 0.000000 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 397 }, { "cell_type": "code", "collapsed": false, "input": "_ = df.fillna(1, inplace=False)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 398 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.284660 0.000000 0.000000
1-2.670735 0.000000 0.000000
2-0.826885 0.000000 0.000000
3 1.242023 0.000000 1.083445
4-0.217213 0.000000 1.032560
5-0.179771 1.340502-0.004094
6-0.293089 0.232825-0.800963
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 399, "text": " 0 1 2\n0 -0.284660 0.000000 0.000000\n1 -2.670735 0.000000 0.000000\n2 -0.826885 0.000000 0.000000\n3 1.242023 0.000000 1.083445\n4 -0.217213 0.000000 1.032560\n5 -0.179771 1.340502 -0.004094\n6 -0.293089 0.232825 -0.800963" } ], "prompt_number": 399 }, { "cell_type": "code", "collapsed": false, "input": "df.fillna(1, inplace=True)", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 411 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.898806 0.550007 1.878563
1 0.885443-0.087176-0.590551
2 0.325443 1.000000-1.037122
3-0.927943 1.000000-1.036681
4-0.028481 1.000000 1.000000
5 0.210230 1.000000 1.000000
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 412, "text": " 0 1 2\n0 -0.898806 0.550007 1.878563\n1 0.885443 -0.087176 -0.590551\n2 0.325443 1.000000 -1.037122\n3 -0.927943 1.000000 -1.036681\n4 -0.028481 1.000000 1.000000\n5 0.210230 1.000000 1.000000" } ], "prompt_number": 412 }, { "cell_type": "code", "collapsed": false, "input": "df = DataFrame(np.random.randn(6, 3))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 403 }, { "cell_type": "code", "collapsed": false, "input": "df.ix[2:, 1] = NA; df.ix[4:, 2] = NA", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 404 }, { "cell_type": "code", "collapsed": false, "input": "df", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.898806 0.550007 1.878563
1 0.885443-0.087176-0.590551
2 0.325443 NaN-1.037122
3-0.927943 NaN-1.036681
4-0.028481 NaN NaN
5 0.210230 NaN NaN
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 405, "text": " 0 1 2\n0 -0.898806 0.550007 1.878563\n1 0.885443 -0.087176 -0.590551\n2 0.325443 NaN -1.037122\n3 -0.927943 NaN -1.036681\n4 -0.028481 NaN NaN\n5 0.210230 NaN NaN" } ], "prompt_number": 405 }, { "cell_type": "code", "collapsed": false, "input": "df.fillna(method='ffill')", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.898806 0.550007 1.878563
1 0.885443-0.087176-0.590551
2 0.325443-0.087176-1.037122
3-0.927943-0.087176-1.036681
4-0.028481-0.087176-1.036681
5 0.210230-0.087176-1.036681
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 406, "text": " 0 1 2\n0 -0.898806 0.550007 1.878563\n1 0.885443 -0.087176 -0.590551\n2 0.325443 -0.087176 -1.037122\n3 -0.927943 -0.087176 -1.036681\n4 -0.028481 -0.087176 -1.036681\n5 0.210230 -0.087176 -1.036681" } ], "prompt_number": 406 }, { "cell_type": "code", "collapsed": false, "input": "df.fillna(method='ffill', limit=2)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012
0-0.898806 0.550007 1.878563
1 0.885443-0.087176-0.590551
2 0.325443-0.087176-1.037122
3-0.927943-0.087176-1.036681
4-0.028481 NaN-1.036681
5 0.210230 NaN-1.036681
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 407, "text": " 0 1 2\n0 -0.898806 0.550007 1.878563\n1 0.885443 -0.087176 -0.590551\n2 0.325443 -0.087176 -1.037122\n3 -0.927943 -0.087176 -1.036681\n4 -0.028481 NaN -1.036681\n5 0.210230 NaN -1.036681" } ], "prompt_number": 407 }, { "cell_type": "code", "collapsed": false, "input": "data = Series([1., NA, 3.5, NA, 7])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 408 }, { "cell_type": "code", "collapsed": false, "input": "data.fillna(data.mean())", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 409, "text": "0 1.000000\n1 3.833333\n2 3.500000\n3 3.833333\n4 7.000000\ndtype: float64" } ], "prompt_number": 409 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 410, "text": "0 1.0\n1 NaN\n2 3.5\n3 NaN\n4 7.0\ndtype: float64" } ], "prompt_number": 410 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": "5.5 \uacc4\uce35\uc801 \uc0c9\uc778" }, { "cell_type": "markdown", "metadata": {}, "source": "- \uacc4\uce35\uc801 \uc0c9\uc778\uc740 pandas\uc758 \uc911\uc694\ud55c \uae30\ub2a5\n- \ucd95\uc5d0 \ub300\ud574 \ub2e4\uc911(\ub458 \uc774\uc0c1) \uc0c9\uc778 \ub2e8\uacc4\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc900\ub2e4.\n- \uc57d\uac04 \ucd94\uc0c1\uc801\uc73c\ub85c \ub9d0\ud558\uba74 \ucc28\uc6d0\uc774 \ub192\uc740(\uace0\ucc28\uc6d0) \ub370\uc774\ud130\ub97c \ub0ae\uc740 \ucc28\uc6d0\uc758 \ud615\uc2dd\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uac8c \ud574\uc8fc\ub294 \uae30\ub2a5" }, { "cell_type": "code", "collapsed": false, "input": "data = Series(np.random.randn(10),\n index = [['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'd'],\n [1, 2, 3, 1, 2, 3, 1, 2, 2, 3]])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 413 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 414, "text": "a 1 0.958413\n 2 1.022494\n 3 0.517799\nb 1 0.546603\n 2 0.786978\n 3 1.567081\nc 1 0.319681\n 2 -0.375031\nd 2 -0.666300\n 3 -0.761056\ndtype: float64" } ], "prompt_number": 414 }, { "cell_type": "code", "collapsed": false, "input": "data.index", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 415, "text": "MultiIndex\n[(u'a', 1), (u'a', 2), (u'a', 3), (u'b', 1), (u'b', 2), (u'b', 3), (u'c', 1), (u'c', 2), (u'd', 2), (u'd', 3)]" } ], "prompt_number": 415 }, { "cell_type": "code", "collapsed": false, "input": "data['b']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 416, "text": "1 0.546603\n2 0.786978\n3 1.567081\ndtype: float64" } ], "prompt_number": 416 }, { "cell_type": "code", "collapsed": false, "input": "data['b':'c']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 417, "text": "b 1 0.546603\n 2 0.786978\n 3 1.567081\nc 1 0.319681\n 2 -0.375031\ndtype: float64" } ], "prompt_number": 417 }, { "cell_type": "code", "collapsed": false, "input": "data.ix[['b', 'd']]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 418, "text": "b 1 0.546603\n 2 0.786978\n 3 1.567081\nd 2 -0.666300\n 3 -0.761056\ndtype: float64" } ], "prompt_number": 418 }, { "cell_type": "code", "collapsed": false, "input": "data['b':'d']", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 422, "text": "b 1 0.546603\n 2 0.786978\n 3 1.567081\nc 1 0.319681\n 2 -0.375031\nd 2 -0.666300\n 3 -0.761056\ndtype: float64" } ], "prompt_number": 422 }, { "cell_type": "code", "collapsed": false, "input": "# Failed!\ndata['b', 'c']", "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "('b', 'c')", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Failed!\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'b'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'c'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/series.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 925\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_check_bool_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 926\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 927\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_with\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 928\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 929\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_get_with\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/series.pyc\u001b[0m in \u001b[0;36m_get_with\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 942\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 943\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 944\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_values_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 945\u001b[0m \u001b[0;32mexcept\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 946\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/series.pyc\u001b[0m in \u001b[0;36m_get_values_tuple\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 990\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 991\u001b[0m \u001b[0;31m# If key is contained, would have returned by now\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 992\u001b[0;31m \u001b[0mindexer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_index\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc_level\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 993\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_constructor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnew_index\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 994\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/index.pyc\u001b[0m in \u001b[0;36mget_loc_level\u001b[0;34m(self, key, level, drop_level)\u001b[0m\n\u001b[1;32m 2638\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2639\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2640\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_values_from_object\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2641\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2642\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mslice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mslice_locs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3330)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3210)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:10484)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:10438)\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: ('b', 'c')" ] } ], "prompt_number": 420 }, { "cell_type": "code", "collapsed": false, "input": "data[:, 2]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 421, "text": "a 1.022494\nb 0.786978\nc -0.375031\nd -0.666300\ndtype: float64" } ], "prompt_number": 421 }, { "cell_type": "code", "collapsed": false, "input": "data", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 423, "text": "a 1 0.958413\n 2 1.022494\n 3 0.517799\nb 1 0.546603\n 2 0.786978\n 3 1.567081\nc 1 0.319681\n 2 -0.375031\nd 2 -0.666300\n 3 -0.761056\ndtype: float64" } ], "prompt_number": 423 }, { "cell_type": "code", "collapsed": false, "input": "data.unstack()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
123
a 0.958413 1.022494 0.517799
b 0.546603 0.786978 1.567081
c 0.319681-0.375031 NaN
d NaN-0.666300-0.761056
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 424, "text": " 1 2 3\na 0.958413 1.022494 0.517799\nb 0.546603 0.786978 1.567081\nc 0.319681 -0.375031 NaN\nd NaN -0.666300 -0.761056" } ], "prompt_number": 424 }, { "cell_type": "code", "collapsed": false, "input": "data.unstack().stack()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 425, "text": "a 1 0.958413\n 2 1.022494\n 3 0.517799\nb 1 0.546603\n 2 0.786978\n 3 1.567081\nc 1 0.319681\n 2 -0.375031\nd 2 -0.666300\n 3 -0.761056\ndtype: float64" } ], "prompt_number": 425 }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(np.arange(12).reshape((4, 3)),\n index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]],\n columns=[['Ohio', 'Ohio', 'Colorado'],\n ['Green', 'Red', 'Green']])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 426 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OhioColorado
GreenRedGreen
a1 0 1 2
2 3 4 5
b1 6 7 8
2 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 427, "text": " Ohio Colorado\n Green Red Green\na 1 0 1 2\n 2 3 4 5\nb 1 6 7 8\n 2 9 10 11" } ], "prompt_number": 427 }, { "cell_type": "code", "collapsed": false, "input": "frame.index.names = ['key1', 'key2']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 428 }, { "cell_type": "code", "collapsed": false, "input": "frame.columns.names = ['state', 'color']", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 429 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key1key2
a1 0 1 2
2 3 4 5
b1 6 7 8
2 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 430, "text": "state Ohio Colorado\ncolor Green Red Green\nkey1 key2 \na 1 0 1 2\n 2 3 4 5\nb 1 6 7 8\n 2 9 10 11" } ], "prompt_number": 430 }, { "cell_type": "code", "collapsed": false, "input": "frame['Ohio']", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
colorGreenRed
key1key2
a1 0 1
2 3 4
b1 6 7
2 9 10
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 431, "text": "color Green Red\nkey1 key2 \na 1 0 1\n 2 3 4\nb 1 6 7\n 2 9 10" } ], "prompt_number": 431 }, { "cell_type": "code", "collapsed": false, "input": "MultiIndex.from_arrays([['Ohio', 'Ohio', 'Colorado'], ['Green', 'Red', 'Green']],\n names=['state', 'color'])", "language": "python", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'MultiIndex' is not defined", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m MultiIndex.from_arrays([['Ohio', 'Ohio', 'Colorado'], ['Green', 'Red', 'Green']],\n\u001b[0m\u001b[1;32m 2\u001b[0m names=['state', 'color'])\n", "\u001b[0;31mNameError\u001b[0m: name 'MultiIndex' is not defined" ] } ], "prompt_number": 432 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.5.1 \uacc4\uce35 \uc21c\uc11c \ubc14\uafb8\uace0 \uc815\ub82c\ud558\uae30" }, { "cell_type": "markdown", "metadata": {}, "source": "####swallevel\uc740 \ub118\uaca8\ubc1b\uc740 2\uac1c\uc758 \uacc4\uce35 \ubc88\ud638\ub098 \uc774\ub984\uc774 \ub4a4\ubc14\ub010 \uc0c8\ub85c\uc6b4 \uac1d\uccb4\ub97c \ubc18\ud658(\ud558\uc9c0\ub9cc \ub370\uc774\ud130\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\ub294\ub2e4)" }, { "cell_type": "code", "collapsed": false, "input": "frame.swaplevel('key1', 'key2')", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key2key1
1a 0 1 2
2a 3 4 5
1b 6 7 8
2b 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 433, "text": "state Ohio Colorado\ncolor Green Red Green\nkey2 key1 \n1 a 0 1 2\n2 a 3 4 5\n1 b 6 7 8\n2 b 9 10 11" } ], "prompt_number": 433 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key1key2
a1 0 1 2
2 3 4 5
b1 6 7 8
2 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 435, "text": "state Ohio Colorado\ncolor Green Red Green\nkey1 key2 \na 1 0 1 2\n 2 3 4 5\nb 1 6 7 8\n 2 9 10 11" } ], "prompt_number": 435 }, { "cell_type": "code", "collapsed": false, "input": "frame.sortlevel(1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key1key2
a1 0 1 2
b1 6 7 8
a2 3 4 5
b2 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 438, "text": "state Ohio Colorado\ncolor Green Red Green\nkey1 key2 \na 1 0 1 2\nb 1 6 7 8\na 2 3 4 5\nb 2 9 10 11" } ], "prompt_number": 438 }, { "cell_type": "code", "collapsed": false, "input": "frame.swaplevel(0, 1).sortlevel(0)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key2key1
1a 0 1 2
b 6 7 8
2a 3 4 5
b 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 439, "text": "state Ohio Colorado\ncolor Green Red Green\nkey2 key1 \n1 a 0 1 2\n b 6 7 8\n2 a 3 4 5\n b 9 10 11" } ], "prompt_number": 439 }, { "cell_type": "code", "collapsed": false, "input": "frame.swaplevel(0, 1).sortlevel(1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key2key1
1a 0 1 2
2a 3 4 5
1b 6 7 8
2b 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 440, "text": "state Ohio Colorado\ncolor Green Red Green\nkey2 key1 \n1 a 0 1 2\n2 a 3 4 5\n1 b 6 7 8\n2 b 9 10 11" } ], "prompt_number": 440 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.5.2 \ub2e8\uacc4\ubcc4 \uc694\uc57d\ud1b5\uacc4" }, { "cell_type": "code", "collapsed": false, "input": "frame.sum(level='key2')", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key2
1 6 8 10
2 12 14 16
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 441, "text": "state Ohio Colorado\ncolor Green Red Green\nkey2 \n1 6 8 10\n2 12 14 16" } ], "prompt_number": 441 }, { "cell_type": "code", "collapsed": false, "input": "frame.sum(level='color', axis=1)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
colorGreenRed
key1key2
a1 2 1
2 8 4
b1 14 7
2 20 10
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 442, "text": "color Green Red\nkey1 key2 \na 1 2 1\n 2 8 4\nb 1 14 7\n 2 20 10" } ], "prompt_number": 442 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stateOhioColorado
colorGreenRedGreen
key1key2
a1 0 1 2
2 3 4 5
b1 6 7 8
2 9 10 11
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 443, "text": "state Ohio Colorado\ncolor Green Red Green\nkey1 key2 \na 1 0 1 2\n 2 3 4 5\nb 1 6 7 8\n 2 9 10 11" } ], "prompt_number": 443 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.5.3 DataFrame\uc758 \uce7c\ub7fc \uc0ac\uc6a9\ud558\uae30" }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame({'a': range(7),\n 'b': range(7, 0, -1),\n 'c': ['one', 'one', 'one', 'two', 'two', 'two', 'two'],\n 'd': [0, 1, 2, 0, 1, 2, 3]})", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 446 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcd
0 0 7 one 0
1 1 6 one 1
2 2 5 one 2
3 3 4 two 0
4 4 3 two 1
5 5 2 two 2
6 6 1 two 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 447, "text": " a b c d\n0 0 7 one 0\n1 1 6 one 1\n2 2 5 one 2\n3 3 4 two 0\n4 4 3 two 1\n5 5 2 two 2\n6 6 1 two 3" } ], "prompt_number": 447 }, { "cell_type": "code", "collapsed": false, "input": "frame2 = frame.set_index(['c', 'd'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 448 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
cd
one0 0 7
1 1 6
2 2 5
two0 3 4
1 4 3
2 5 2
3 6 1
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 449, "text": " a b\nc d \none 0 0 7\n 1 1 6\n 2 2 5\ntwo 0 3 4\n 1 4 3\n 2 5 2\n 3 6 1" } ], "prompt_number": 449 }, { "cell_type": "code", "collapsed": false, "input": "frame.set_index(['c', 'd'], drop=False)", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abcd
cd
one0 0 7 one 0
1 1 6 one 1
2 2 5 one 2
two0 3 4 two 0
1 4 3 two 1
2 5 2 two 2
3 6 1 two 3
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 450, "text": " a b c d\nc d \none 0 0 7 one 0\n 1 1 6 one 1\n 2 2 5 one 2\ntwo 0 3 4 two 0\n 1 4 3 two 1\n 2 5 2 two 2\n 3 6 1 two 3" } ], "prompt_number": 450 }, { "cell_type": "code", "collapsed": false, "input": "# \uacc4\uce35\uc801 \uc0c9\uc778 \ub2e8\uacc4 -> \uceec\ub7fc\nframe2.reset_index()", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
cdab
0 one 0 0 7
1 one 1 1 6
2 one 2 2 5
3 two 0 3 4
4 two 1 4 3
5 two 2 5 2
6 two 3 6 1
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 453, "text": " c d a b\n0 one 0 0 7\n1 one 1 1 6\n2 one 2 2 5\n3 two 0 3 4\n4 two 1 4 3\n5 two 2 5 2\n6 two 3 6 1" } ], "prompt_number": 453 }, { "cell_type": "code", "collapsed": false, "input": "frame2", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
cd
one0 0 7
1 1 6
2 2 5
two0 3 4
1 4 3
2 5 2
3 6 1
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 454, "text": " a b\nc d \none 0 0 7\n 1 1 6\n 2 2 5\ntwo 0 3 4\n 1 4 3\n 2 5 2\n 3 6 1" } ], "prompt_number": 454 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": "5.6 pandas\uc640 \uad00\ub828\ub41c \uae30\ud0c0 \uc8fc\uc81c" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.6.1 \uc815\uc218 \uc0c9\uc778" }, { "cell_type": "markdown", "metadata": {}, "source": "- \uc5ec\uae30 ser \uac1d\uccb4\ub294 0, 1, 2 \uc0c9\uc778\uc744 \uac00\uc9c0\uace0 \uc788\uc9c0\ub9cc \uc0ac\uc6a9\uc790\uac00 \uc6d0\ud558\ub294 \uac83\uc774 \uc704\uce58 \uc0c9\uc778\uc778\uc9c0? \uc774\ub984 \uc0c9\uc778\uc778\uc9c0 \uc54c\uc544\ub9de\ud788\ub294 \uac83\uc740 \uc5b4\ub824\uc6b4 \uc77c" }, { "cell_type": "code", "collapsed": false, "input": "ser = Series(np.arange(3.))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 455 }, { "cell_type": "code", "collapsed": false, "input": "ser[-1]", "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "-1", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mser\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/series.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 903\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 904\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 905\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 906\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mInvalidIndexError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 907\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/core/index.pyc\u001b[0m in \u001b[0;36mget_value\u001b[0;34m(self, series, key)\u001b[0m\n\u001b[1;32m 834\u001b[0m \u001b[0mk\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_values_from_object\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 835\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 836\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 837\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 838\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minferred_type\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'integer'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_value (pandas/index.c:2658)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_value (pandas/index.c:2473)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3210)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:6422)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Library/Python/2.7/site-packages/pandas-0.12.0_307_g3a2fe0b-py2.7-macosx-10.8-intel.egg/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:6366)\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: -1" ] } ], "prompt_number": 456 }, { "cell_type": "code", "collapsed": false, "input": "ser", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 457, "text": "0 0\n1 1\n2 2\ndtype: float64" } ], "prompt_number": 457 }, { "cell_type": "code", "collapsed": false, "input": "ser2 = Series(np.arange(3.), index=['a', 'b', 'c'])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 458 }, { "cell_type": "code", "collapsed": false, "input": "ser2", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 459, "text": "a 0\nb 1\nc 2\ndtype: float64" } ], "prompt_number": 459 }, { "cell_type": "code", "collapsed": false, "input": "ser2[-1]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 460, "text": "2.0" } ], "prompt_number": 460 }, { "cell_type": "code", "collapsed": false, "input": "ser.ix[:1]", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 461, "text": "0 0\n1 1\ndtype: float64" } ], "prompt_number": 461 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ub9cc\uc77c \uc0c9\uc778\uc758 \uc885\ub958\uc5d0 \uc0c1\uad00\uc5c6\uc774 \uc704\uce58 \uae30\ubc18\uc758 \uc0c9\uc778\uc774 \ud544\uc694\ud558\ub2e4\uba74 Series\uc758 iget_value \uba54\uc11c\ub4dc\uc640 DataFrame\uc758 irow, icol \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4" }, { "cell_type": "code", "collapsed": false, "input": "ser3 = Series(range(3), index=[-5, 1, 3])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 462 }, { "cell_type": "code", "collapsed": false, "input": "ser3", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 470, "text": "-5 0\n 1 1\n 3 2\ndtype: int64" } ], "prompt_number": 470 }, { "cell_type": "code", "collapsed": false, "input": "ser3.iget_value(2)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 463, "text": "2" } ], "prompt_number": 463 }, { "cell_type": "code", "collapsed": false, "input": "frame = DataFrame(np.arange(6).reshape((3, 2)), index=[2, 0, 1])", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 466 }, { "cell_type": "code", "collapsed": false, "input": "frame.irow(0)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 467, "text": "0 0\n1 1\nName: 2, dtype: int64" } ], "prompt_number": 467 }, { "cell_type": "code", "collapsed": false, "input": "frame", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
01
2 0 1
0 2 3
1 4 5
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 468, "text": " 0 1\n2 0 1\n0 2 3\n1 4 5" } ], "prompt_number": 468 }, { "cell_type": "code", "collapsed": false, "input": "frame.irow(1)", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 469, "text": "0 2\n1 3\nName: 0, dtype: int64" } ], "prompt_number": 469 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "5.6.2 Panel \ub370\uc774\ud130" }, { "cell_type": "markdown", "metadata": {}, "source": "- Panel\uc740 DataFrame\uc758 3\ucc28\uc6d0 \ubc84\uc804\n- pandas \uac1c\ubc1c\uc740 \uc2a4\ud504\ub808\ub4dc\uc2dc\ud2b8 \ud615\uc2dd\uc758 \ub370\uc774\ud130\ub97c \ub2e4\ub8e8\ub294 \ub370 \ucd08\uc810\n- \uacc4\uce35\uc801 \uc0c9\uc778\uc744 \uc774\uc6a9\ud558\uba74 \ub300\uac1c\uc758 \uacbd\uc6b0 N\ucc28\uc6d0\uc758 \ubc30\uc5f4\uc740 \ubd88\ud544\uc694" }, { "cell_type": "code", "collapsed": false, "input": "import pandas.io.data as web\npdata = pd.Panel(dict((stk, web.get_data_yahoo(stk, '1/1/2009', '6/1/2012'))\n for stk in ['AAPL', 'GOOG', 'MSFT', 'DELL']))", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 471 }, { "cell_type": "code", "collapsed": false, "input": "pdata", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 472, "text": "\nDimensions: 4 (items) x 868 (major_axis) x 6 (minor_axis)\nItems axis: AAPL to MSFT\nMajor_axis axis: 2009-01-02 00:00:00 to 2012-06-01 00:00:00\nMinor_axis axis: Open to Adj Close" } ], "prompt_number": 472 }, { "cell_type": "code", "collapsed": false, "input": "pdata = pdata.swapaxes('items', 'minor')", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 473 }, { "cell_type": "code", "collapsed": false, "input": "pdata", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 474, "text": "\nDimensions: 6 (items) x 868 (major_axis) x 4 (minor_axis)\nItems axis: Open to Adj Close\nMajor_axis axis: 2009-01-02 00:00:00 to 2012-06-01 00:00:00\nMinor_axis axis: AAPL to MSFT" } ], "prompt_number": 474 }, { "cell_type": "code", "collapsed": false, "input": "pdata['Adj Close']", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n<class 'pandas.core.frame.DataFrame'>\nDatetimeIndex: 868 entries, 2009-01-02 00:00:00 to 2012-06-01 00:00:00\nData columns (total 4 columns):\nAAPL    861  non-null values\nDELL    868  non-null values\nGOOG    861  non-null values\nMSFT    861  non-null values\ndtypes: float64(4)\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 475, "text": "\nDatetimeIndex: 868 entries, 2009-01-02 00:00:00 to 2012-06-01 00:00:00\nData columns (total 4 columns):\nAAPL 861 non-null values\nDELL 868 non-null values\nGOOG 861 non-null values\nMSFT 861 non-null values\ndtypes: float64(4)" } ], "prompt_number": 475 }, { "cell_type": "markdown", "metadata": {}, "source": "####ix\ub97c \uc774\uc6a9\ud55c \ub77c\ubca8 \uc0c9\uc778\uc744 \ud1b5\ud55c \uc811\uadfc\uc740 3\ucc28\uc6d0\uc5d0\ub3c4 \uc77c\ubc18\ud654\ub418\uc5b4 \ud2b9\uc815 \ub0a0\uc9dc\ub098 \uc5b4\ub5a4 \uae30\uac04 \ub3d9\uc548\uc758 \ubaa8\ub4e0 \ub370\uc774\ud130\ub97c \ub2e4\uc74c\ucc98\ub7fc \uc120\ud0dd\ud560 \uc218 \uc788\ub2e4" }, { "cell_type": "code", "collapsed": false, "input": "pdata.ix[:, '6/1/2012', :]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OpenHighLowCloseVolumeAdj Close
AAPL 569.16 572.65 560.52 560.99 18606700 539.20
DELL 12.15 12.30 12.05 12.07 19397600 11.68
GOOG 571.79 572.65 568.35 570.98 3057900 570.98
MSFT 28.76 28.96 28.44 28.45 56634300 27.01
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 476, "text": " Open High Low Close Volume Adj Close\nAAPL 569.16 572.65 560.52 560.99 18606700 539.20\nDELL 12.15 12.30 12.05 12.07 19397600 11.68\nGOOG 571.79 572.65 568.35 570.98 3057900 570.98\nMSFT 28.76 28.96 28.44 28.45 56634300 27.01" } ], "prompt_number": 476 }, { "cell_type": "code", "collapsed": false, "input": "pdata.ix['Adj Close', '5/22/2012':, :]", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AAPLDELLGOOGMSFT
Date
2012-05-22 535.33 14.59 600.80 28.25
2012-05-23 548.40 12.08 609.46 27.63
2012-05-24 543.36 12.04 603.66 27.60
2012-05-25 540.45 12.05 591.53 27.59
2012-05-28 NaN 12.05 NaN NaN
2012-05-29 550.04 12.25 594.34 28.06
2012-05-30 556.67 12.15 588.23 27.85
2012-05-31 555.29 11.93 580.86 27.71
2012-06-01 539.20 11.68 570.98 27.01
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 477, "text": " AAPL DELL GOOG MSFT\nDate \n2012-05-22 535.33 14.59 600.80 28.25\n2012-05-23 548.40 12.08 609.46 27.63\n2012-05-24 543.36 12.04 603.66 27.60\n2012-05-25 540.45 12.05 591.53 27.59\n2012-05-28 NaN 12.05 NaN NaN\n2012-05-29 550.04 12.25 594.34 28.06\n2012-05-30 556.67 12.15 588.23 27.85\n2012-05-31 555.29 11.93 580.86 27.71\n2012-06-01 539.20 11.68 570.98 27.01" } ], "prompt_number": 477 }, { "cell_type": "markdown", "metadata": {}, "source": "####\ud1b5\uacc4 \ubaa8\ub378\uc5d0 \ub9de\uac8c Panel \ub370\uc774\ud130\ub97c \ucd9c\ub825\ud558\ub294 \ub2e4\ub978 \ubc29\ubc95\uc740 DataFrame\uc744 \uc313\uc544 \ub193\ub294 \uac83" }, { "cell_type": "code", "collapsed": false, "input": "stacked = pdata.ix[:, '5/30/2012':, :].to_frame()", "language": "python", "metadata": {}, "outputs": [], "prompt_number": 478 }, { "cell_type": "code", "collapsed": false, "input": "stacked", "language": "python", "metadata": {}, "outputs": [ { "html": "
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OpenHighLowCloseVolumeAdj Close
Dateminor
2012-05-30AAPL 569.20 579.99 566.56 579.17 18908200 556.67
DELL 12.59 12.70 12.46 12.56 19787800 12.15
GOOG 588.16 591.90 583.53 588.23 1906700 588.23
MSFT 29.35 29.48 29.12 29.34 41585500 27.85
2012-05-31AAPL 580.74 581.50 571.46 577.73 17559800 555.29
DELL 12.53 12.54 12.33 12.33 19955600 11.93
GOOG 588.72 590.00 579.00 580.86 2968300 580.86
MSFT 29.30 29.42 28.94 29.19 39134000 27.71
2012-06-01AAPL 569.16 572.65 560.52 560.99 18606700 539.20
DELL 12.15 12.30 12.05 12.07 19397600 11.68
GOOG 571.79 572.65 568.35 570.98 3057900 570.98
MSFT 28.76 28.96 28.44 28.45 56634300 27.01
\n
", "metadata": {}, "output_type": "pyout", "prompt_number": 479, "text": " Open High Low Close Volume Adj Close\nDate minor \n2012-05-30 AAPL 569.20 579.99 566.56 579.17 18908200 556.67\n DELL 12.59 12.70 12.46 12.56 19787800 12.15\n GOOG 588.16 591.90 583.53 588.23 1906700 588.23\n MSFT 29.35 29.48 29.12 29.34 41585500 27.85\n2012-05-31 AAPL 580.74 581.50 571.46 577.73 17559800 555.29\n DELL 12.53 12.54 12.33 12.33 19955600 11.93\n GOOG 588.72 590.00 579.00 580.86 2968300 580.86\n MSFT 29.30 29.42 28.94 29.19 39134000 27.71\n2012-06-01 AAPL 569.16 572.65 560.52 560.99 18606700 539.20\n DELL 12.15 12.30 12.05 12.07 19397600 11.68\n GOOG 571.79 572.65 568.35 570.98 3057900 570.98\n MSFT 28.76 28.96 28.44 28.45 56634300 27.01" } ], "prompt_number": 479 }, { "cell_type": "markdown", "metadata": {}, "source": "####DataFrame\uc5d0\ub294 to_panel \uba54\uc11c\ub4dc\uc640 \uadf8 \ubc18\ub300\uc778 to_frame \uba54\uc11c\ub4dc\uac00 \uc788\ub2e4" }, { "cell_type": "code", "collapsed": false, "input": "stacked.to_panel()", "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 480, "text": "\nDimensions: 6 (items) x 3 (major_axis) x 4 (minor_axis)\nItems axis: Open to Adj Close\nMajor_axis axis: 2012-05-30 00:00:00 to 2012-06-01 00:00:00\nMinor_axis axis: AAPL to MSFT" } ], "prompt_number": 480 }, { "cell_type": "code", "collapsed": false, "input": "", "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }