Skip to content

Instantly share code, notes, and snippets.

@re4lfl0w
Created March 18, 2014 07:51
Show Gist options
  • Save re4lfl0w/9615403 to your computer and use it in GitHub Desktop.
Save re4lfl0w/9615403 to your computer and use it in GitHub Desktop.
Pandas
{
"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<ipython-input-49-f11031c3e9d5>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>pop</th>\n <th>state</th>\n <th>year</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1.5</td>\n <td> Ohio</td>\n <td> 2000</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1.7</td>\n <td> Ohio</td>\n <td> 2001</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 3.6</td>\n <td> Ohio</td>\n <td> 2002</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 2.4</td>\n <td> Nevada</td>\n <td> 2001</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 2.9</td>\n <td> Nevada</td>\n <td> 2002</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n <th>debt</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>two</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>four</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>five</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n <td> NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-495-c612730ce7cd>\u001b[0m in \u001b[0;36m<module>\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<ipython-input-66-c83454b4dc1c>\u001b[0m in \u001b[0;36m<module>\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<ipython-input-67-d9f68b2221a2>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n <th>debt</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n <td> 16.5</td>\n </tr>\n <tr>\n <th>two</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n <td> 16.5</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n <td> 16.5</td>\n </tr>\n <tr>\n <th>four</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n <td> 16.5</td>\n </tr>\n <tr>\n <th>five</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n <td> 16.5</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n <th>debt</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>two</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>four</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>five</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n <td> 4</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-74-0ba39660d42a>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n <th>debt</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>two</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n <td>-1.2</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>four</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n <td>-1.5</td>\n </tr>\n <tr>\n <th>five</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n <td>-1.7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n <th>debt</th>\n <th>eastern</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n <td> NaN</td>\n <td> True</td>\n </tr>\n <tr>\n <th>two</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n <td>-1.2</td>\n <td> True</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n <td> NaN</td>\n <td> True</td>\n </tr>\n <tr>\n <th>four</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n <td>-1.5</td>\n <td> False</td>\n </tr>\n <tr>\n <th>five</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n <td>-1.7</td>\n <td> False</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>year</th>\n <th>state</th>\n <th>pop</th>\n <th>debt</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 2000</td>\n <td> Ohio</td>\n <td> 1.5</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>two</th>\n <td> 2001</td>\n <td> Ohio</td>\n <td> 1.7</td>\n <td>-1.2</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 2002</td>\n <td> Ohio</td>\n <td> 3.6</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>four</th>\n <td> 2001</td>\n <td> Nevada</td>\n <td> 2.4</td>\n <td>-1.5</td>\n </tr>\n <tr>\n <th>five</th>\n <td> 2002</td>\n <td> Nevada</td>\n <td> 2.9</td>\n <td>-1.7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>2000</th>\n <th>2001</th>\n <th>2002</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Nevada</th>\n <td> NaN</td>\n <td> 2.4</td>\n <td> 2.9</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 1.5</td>\n <td> 1.7</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n <tr>\n <th>2003</th>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>state</th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n <tr>\n <th>year</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>state2</th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n <tr>\n <th>year3</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>state3</th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n <tr>\n <th>year3</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "'<class 'pandas.core.index.Index'>' 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<ipython-input-129-676fdeb26a68>\u001b[0m in \u001b[0;36m<module>\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: '<class 'pandas.core.index.Index'>' 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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th>state3</th>\n <th>Nevada</th>\n <th>Ohio</th>\n </tr>\n <tr>\n <th>year3</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000</th>\n <td> NaN</td>\n <td> 1.5</td>\n </tr>\n <tr>\n <th>2001</th>\n <td> 2.4</td>\n <td> 1.7</td>\n </tr>\n <tr>\n <th>2002</th>\n <td> 2.9</td>\n <td> 3.6</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Ohio</th>\n <th>Texas</th>\n <th>California</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Ohio</th>\n <th>Texas</th>\n <th>California</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>b</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Texas</th>\n <th>Utah</th>\n <th>California</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 1</td>\n <td>NaN</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 4</td>\n <td>NaN</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 7</td>\n <td>NaN</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Ohio</th>\n <th>Texas</th>\n <th>California</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Texas</th>\n <th>Utah</th>\n <th>California</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 1</td>\n <td>NaN</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 1</td>\n <td>NaN</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 4</td>\n <td>NaN</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 7</td>\n <td>NaN</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Texas</th>\n <th>Utah</th>\n <th>California</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 1</td>\n <td>NaN</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>b</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 4</td>\n <td>NaN</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 7</td>\n <td>NaN</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>three</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 10</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 14</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>three</th>\n <th>one</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 2</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 6</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 10</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 14</td>\n <td> 12</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> True</td>\n <td> True</td>\n <td> True</td>\n <td> True</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> True</td>\n <td> False</td>\n <td> False</td>\n <td> False</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> False</td>\n <td> False</td>\n <td> False</td>\n <td> False</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> False</td>\n <td> False</td>\n <td> False</td>\n <td> False</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n <th>four</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 0</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n <td> 15</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>two</th>\n <th>three</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Colorado</th>\n <td> 5</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 9</td>\n <td> 10</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>four</th>\n <th>one</th>\n <th>two</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Colorado</th>\n <td> 7</td>\n <td> 0</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 11</td>\n <td> 8</td>\n <td> 9</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n <th>three</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Colorado</th>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td> 8</td>\n <td> 9</td>\n </tr>\n <tr>\n <th>New York</th>\n <td> 12</td>\n <td> 13</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Ohio</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Colorado</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Colorado</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td>NaN</td>\n <td> 6</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 9</td>\n <td>NaN</td>\n <td> 12</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Utah</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n <td> 9</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 10</td>\n <td> 11</td>\n <td> 12</td>\n <td> 13</td>\n <td> 14</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 15</td>\n <td> 16</td>\n <td> 17</td>\n <td> 18</td>\n <td> 19</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 2</td>\n <td> 4</td>\n <td> 6</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 9</td>\n <td> 11</td>\n <td> 13</td>\n <td> 15</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 18</td>\n <td> 20</td>\n <td> 22</td>\n <td> 24</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 2</td>\n <td> 4</td>\n <td> 6</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 9</td>\n <td> 11</td>\n <td> 13</td>\n <td> 15</td>\n <td> 9</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 18</td>\n <td> 20</td>\n <td> 22</td>\n <td> 24</td>\n <td> 14</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 15</td>\n <td> 16</td>\n <td> 17</td>\n <td> 18</td>\n <td> 19</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 2</td>\n <td> 4</td>\n <td> 6</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 9</td>\n <td> 11</td>\n <td> 13</td>\n <td> 15</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 18</td>\n <td> 20</td>\n <td> 22</td>\n <td> 24</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 2</td>\n <td> 4</td>\n <td> 6</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 9</td>\n <td> 11</td>\n <td> 13</td>\n <td> 15</td>\n <td> 10</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 18</td>\n <td> 20</td>\n <td> 22</td>\n <td> 24</td>\n <td> 15</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 16</td>\n <td> 17</td>\n <td> 18</td>\n <td> 19</td>\n <td> 20</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 2</td>\n <td> 4</td>\n <td> 6</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 9</td>\n <td> 11</td>\n <td> 13</td>\n <td> 15</td>\n <td> 11</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 18</td>\n <td> 20</td>\n <td> 22</td>\n <td> 24</td>\n <td> 16</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 17</td>\n <td> 18</td>\n <td> 19</td>\n <td> 20</td>\n <td> 21</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 8</td>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n <td> 0</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td> 3</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 6</td>\n <td> 6</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 9</td>\n <td> 9</td>\n <td> 9</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n <th>f</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0</td>\n <td>NaN</td>\n <td> 3</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td>NaN</td>\n <td> 6</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 6</td>\n <td>NaN</td>\n <td> 9</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 9</td>\n <td>NaN</td>\n <td> 12</td>\n <td>NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td>-1</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td>-1</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td>-1</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td>-1</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td>-0.080118</td>\n <td>-1.050124</td>\n <td>-2.482035</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 1.629936</td>\n <td>-2.184845</td>\n <td>-0.508522</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 0.000033</td>\n <td> 0.497823</td>\n <td>-0.496307</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td>-0.188822</td>\n <td>-0.411298</td>\n <td> 2.236104</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> 0.080118</td>\n <td> 1.050124</td>\n <td> 2.482035</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 1.629936</td>\n <td> 2.184845</td>\n <td> 0.508522</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 0.000033</td>\n <td> 0.497823</td>\n <td> 0.496307</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> 0.188822</td>\n <td> 0.411298</td>\n <td> 2.236104</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td>-0.080118</td>\n <td>-1.050124</td>\n <td>-2.482035</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 1.629936</td>\n <td>-2.184845</td>\n <td>-0.508522</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 0.000033</td>\n <td> 0.497823</td>\n <td>-0.496307</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td>-0.188822</td>\n <td>-0.411298</td>\n <td> 2.236104</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>min</th>\n <td>-0.188822</td>\n <td>-2.184845</td>\n <td>-2.482035</td>\n </tr>\n <tr>\n <th>max</th>\n <td> 1.629936</td>\n <td> 0.497823</td>\n <td> 2.236104</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>b</th>\n <th>d</th>\n <th>e</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Utah</th>\n <td> -0.08</td>\n <td> -1.05</td>\n <td> -2.48</td>\n </tr>\n <tr>\n <th>Ohio</th>\n <td> 1.63</td>\n <td> -2.18</td>\n <td> -0.51</td>\n </tr>\n <tr>\n <th>Texas</th>\n <td> 0.00</td>\n <td> 0.50</td>\n <td> -0.50</td>\n </tr>\n <tr>\n <th>Oregon</th>\n <td> -0.19</td>\n <td> -0.41</td>\n <td> 2.24</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>d</th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>three</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>one</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>d</th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>one</th>\n <td> 4</td>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>three</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>three</th>\n <td> 1</td>\n <td> 2</td>\n <td> 3</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>one</th>\n <td> 5</td>\n <td> 6</td>\n <td> 7</td>\n <td> 4</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>d</th>\n <th>c</th>\n <th>b</th>\n <th>a</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>three</th>\n <td> 0</td>\n <td> 3</td>\n <td> 2</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>one</th>\n <td> 4</td>\n <td> 7</td>\n <td> 6</td>\n <td> 5</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<pre>\n4 -3\n5 2\n0 4\n2 7\n1 NaN\n3 NaN\n</pre>"
},
{
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0</td>\n <td>-3</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1</td>\n <td> 2</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2</th>\n <td> 0</td>\n <td>-3</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2</th>\n <td> 0</td>\n <td>-3</td>\n </tr>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 4.3</td>\n <td>-2.0</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 7.0</td>\n <td> 5.0</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0</td>\n <td>-3.0</td>\n <td> 8.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1</td>\n <td> 2.0</td>\n <td>-2.5</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 2</td>\n <td> 3</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 3</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> 1</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 2</td>\n <td> 3</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 0.084110</td>\n <td>-0.197321</td>\n <td> 0.355402</td>\n </tr>\n <tr>\n <th>a</th>\n <td> 0.164190</td>\n <td>-0.754448</td>\n <td> 0.488057</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 1.047562</td>\n <td>-1.282640</td>\n <td> 1.005273</td>\n </tr>\n <tr>\n <th>b</th>\n <td>-1.354820</td>\n <td>-1.175588</td>\n <td>-0.820554</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>b</th>\n <td> 1.047562</td>\n <td>-1.282640</td>\n <td> 1.005273</td>\n </tr>\n <tr>\n <th>b</th>\n <td>-1.354820</td>\n <td>-1.175588</td>\n <td>-0.820554</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 1.40</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 7.10</td>\n <td>-4.5</td>\n </tr>\n <tr>\n <th>c</th>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 0.75</td>\n <td>-1.3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 1.40</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 8.50</td>\n <td>-4.5</td>\n </tr>\n <tr>\n <th>c</th>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 9.25</td>\n <td>-5.8</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 1.40</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 7.10</td>\n <td>-4.5</td>\n </tr>\n <tr>\n <th>c</th>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>d</th>\n <td> 0.75</td>\n <td>-1.3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>one</th>\n <th>two</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td> 3.000000</td>\n <td> 2.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td> 3.083333</td>\n <td>-2.900000</td>\n </tr>\n <tr>\n <th>std</th>\n <td> 3.493685</td>\n <td> 2.262742</td>\n </tr>\n <tr>\n <th>min</th>\n <td> 0.750000</td>\n <td>-4.500000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td> 1.075000</td>\n <td>-3.700000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td> 1.400000</td>\n <td>-2.900000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td> 4.250000</td>\n <td>-2.100000</td>\n </tr>\n <tr>\n <th>max</th>\n <td> 7.100000</td>\n <td>-1.300000</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>AAPL</th>\n <th>GOOG</th>\n <th>IBM</th>\n <th>MSFT</th>\n </tr>\n <tr>\n <th>Date</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2009-12-24</th>\n <td> 0.034337</td>\n <td> 0.011117</td>\n <td> 0.004404</td>\n <td> 0.002894</td>\n </tr>\n <tr>\n <th>2009-12-28</th>\n <td> 0.012293</td>\n <td> 0.007098</td>\n <td> 0.013319</td>\n <td> 0.005411</td>\n </tr>\n <tr>\n <th>2009-12-29</th>\n <td>-0.011849</td>\n <td>-0.005571</td>\n <td>-0.003429</td>\n <td> 0.006817</td>\n </tr>\n <tr>\n <th>2009-12-30</th>\n <td> 0.012141</td>\n <td> 0.005376</td>\n <td> 0.005407</td>\n <td>-0.013542</td>\n </tr>\n <tr>\n <th>2009-12-31</th>\n <td>-0.004326</td>\n <td>-0.004416</td>\n <td>-0.012548</td>\n <td>-0.015535</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<pre>\n&lt;class 'pandas.core.frame.DataFrame'&gt;\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</pre>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 323,
"text": "<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)"
}
],
"prompt_number": 323
},
{
"cell_type": "code",
"collapsed": false,
"input": "volume",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<pre>\n&lt;class 'pandas.core.frame.DataFrame'&gt;\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</pre>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 324,
"text": "<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)"
}
],
"prompt_number": 324
},
{
"cell_type": "code",
"collapsed": false,
"input": "returns.head()",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>AAPL</th>\n <th>GOOG</th>\n <th>IBM</th>\n <th>MSFT</th>\n </tr>\n <tr>\n <th>Date</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2000-01-03</th>\n <td> NaN</td>\n <td>NaN</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>2000-01-04</th>\n <td>-0.084387</td>\n <td>NaN</td>\n <td>-0.033954</td>\n <td>-0.033811</td>\n </tr>\n <tr>\n <th>2000-01-05</th>\n <td> 0.014616</td>\n <td>NaN</td>\n <td> 0.035148</td>\n <td> 0.010450</td>\n </tr>\n <tr>\n <th>2000-01-06</th>\n <td>-0.086435</td>\n <td>NaN</td>\n <td>-0.017288</td>\n <td>-0.033430</td>\n </tr>\n <tr>\n <th>2000-01-07</th>\n <td> 0.047306</td>\n <td>NaN</td>\n <td>-0.004319</td>\n <td> 0.013187</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>AAPL</th>\n <th>GOOG</th>\n <th>IBM</th>\n <th>MSFT</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>AAPL</th>\n <td> 1.000000</td>\n <td> 0.470629</td>\n <td> 0.409913</td>\n <td> 0.424426</td>\n </tr>\n <tr>\n <th>GOOG</th>\n <td> 0.470629</td>\n <td> 1.000000</td>\n <td> 0.390740</td>\n <td> 0.443446</td>\n </tr>\n <tr>\n <th>IBM</th>\n <td> 0.409913</td>\n <td> 0.390740</td>\n <td> 1.000000</td>\n <td> 0.495931</td>\n </tr>\n <tr>\n <th>MSFT</th>\n <td> 0.424426</td>\n <td> 0.443446</td>\n <td> 0.495931</td>\n <td> 1.000000</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>AAPL</th>\n <th>GOOG</th>\n <th>IBM</th>\n <th>MSFT</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>AAPL</th>\n <td> 0.001027</td>\n <td> 0.000303</td>\n <td> 0.000252</td>\n <td> 0.000309</td>\n </tr>\n <tr>\n <th>GOOG</th>\n <td> 0.000303</td>\n <td> 0.000580</td>\n <td> 0.000142</td>\n <td> 0.000205</td>\n </tr>\n <tr>\n <th>IBM</th>\n <td> 0.000252</td>\n <td> 0.000142</td>\n <td> 0.000367</td>\n <td> 0.000216</td>\n </tr>\n <tr>\n <th>MSFT</th>\n <td> 0.000309</td>\n <td> 0.000205</td>\n <td> 0.000216</td>\n <td> 0.000516</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-346-8d9c188ba330>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Qu1</th>\n <th>Qu2</th>\n <th>Qu3</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1</td>\n <td> 2</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 3</td>\n <td> 3</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 4</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 3</td>\n <td> 2</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 4</td>\n <td> 3</td>\n <td> 4</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Qu1</th>\n <th>Qu2</th>\n <th>Qu3</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 1</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0</td>\n <td> 2</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 2</td>\n <td> 2</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 2</td>\n <td> 0</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>5</th>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>NaN</td>\n <td> NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>NaN</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>NaN</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-367-b11b6ea54397>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n <th>4</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1</td>\n <td> 6.5</td>\n <td> 3</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>NaN</td>\n <td> NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>NaN</td>\n <td> 6.5</td>\n <td> 3</td>\n <td>NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 1</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>NaN</td>\n <td> NaN</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>NaN</td>\n <td> 6.5</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <tbody>\n <tr>\n <td>Int64Index([0, 1, 2, 3], dtype=int64)</td>\n <td>Empty DataFrame</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td> 0.996480</td>\n <td>-0.469911</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td>-0.372844</td>\n <td>-1.976604</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td>-1.888286</td>\n <td>-0.565196</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> 0.557712</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td>-0.434431</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> NaN</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td> NaN</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> NaN</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td> NaN</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> 0.000000</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td> 0.000000</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td> 0.500000</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td> 0.500000</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td> 0.500000</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> 0.500000</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td> 0.500000</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td>-1.000000</td>\n <td> 0.500000</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td>-1.000000</td>\n <td> 0.500000</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td>-1.000000</td>\n <td> 0.500000</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td>-1.000000</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td>-1.000000</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> 0.000000</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td> 0.000000</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.284660</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-2.670735</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-0.826885</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1.242023</td>\n <td> 0.000000</td>\n <td> 1.083445</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.217213</td>\n <td> 0.000000</td>\n <td> 1.032560</td>\n </tr>\n <tr>\n <th>5</th>\n <td>-0.179771</td>\n <td> 1.340502</td>\n <td>-0.004094</td>\n </tr>\n <tr>\n <th>6</th>\n <td>-0.293089</td>\n <td> 0.232825</td>\n <td>-0.800963</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.898806</td>\n <td> 0.550007</td>\n <td> 1.878563</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 0.885443</td>\n <td>-0.087176</td>\n <td>-0.590551</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0.325443</td>\n <td> 1.000000</td>\n <td>-1.037122</td>\n </tr>\n <tr>\n <th>3</th>\n <td>-0.927943</td>\n <td> 1.000000</td>\n <td>-1.036681</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.028481</td>\n <td> 1.000000</td>\n <td> 1.000000</td>\n </tr>\n <tr>\n <th>5</th>\n <td> 0.210230</td>\n <td> 1.000000</td>\n <td> 1.000000</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.898806</td>\n <td> 0.550007</td>\n <td> 1.878563</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 0.885443</td>\n <td>-0.087176</td>\n <td>-0.590551</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0.325443</td>\n <td> NaN</td>\n <td>-1.037122</td>\n </tr>\n <tr>\n <th>3</th>\n <td>-0.927943</td>\n <td> NaN</td>\n <td>-1.036681</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.028481</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>5</th>\n <td> 0.210230</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.898806</td>\n <td> 0.550007</td>\n <td> 1.878563</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 0.885443</td>\n <td>-0.087176</td>\n <td>-0.590551</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0.325443</td>\n <td>-0.087176</td>\n <td>-1.037122</td>\n </tr>\n <tr>\n <th>3</th>\n <td>-0.927943</td>\n <td>-0.087176</td>\n <td>-1.036681</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.028481</td>\n <td>-0.087176</td>\n <td>-1.036681</td>\n </tr>\n <tr>\n <th>5</th>\n <td> 0.210230</td>\n <td>-0.087176</td>\n <td>-1.036681</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n <th>2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-0.898806</td>\n <td> 0.550007</td>\n <td> 1.878563</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 0.885443</td>\n <td>-0.087176</td>\n <td>-0.590551</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 0.325443</td>\n <td>-0.087176</td>\n <td>-1.037122</td>\n </tr>\n <tr>\n <th>3</th>\n <td>-0.927943</td>\n <td>-0.087176</td>\n <td>-1.036681</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-0.028481</td>\n <td> NaN</td>\n <td>-1.036681</td>\n </tr>\n <tr>\n <th>5</th>\n <td> 0.210230</td>\n <td> NaN</td>\n <td>-1.036681</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-420-c6d18aac3c30>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>1</th>\n <th>2</th>\n <th>3</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <td> 0.958413</td>\n <td> 1.022494</td>\n <td> 0.517799</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 0.546603</td>\n <td> 0.786978</td>\n <td> 1.567081</td>\n </tr>\n <tr>\n <th>c</th>\n <td> 0.319681</td>\n <td>-0.375031</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>d</th>\n <td> NaN</td>\n <td>-0.666300</td>\n <td>-0.761056</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th></th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th></th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">a</th>\n <th>1</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">b</th>\n <th>1</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key1</th>\n <th>key2</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">a</th>\n <th>1</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">b</th>\n <th>1</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n </tr>\n <tr>\n <th>key1</th>\n <th>key2</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">a</th>\n <th>1</th>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 3</td>\n <td> 4</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">b</th>\n <th>1</th>\n <td> 6</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 9</td>\n <td> 10</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-432-2dbb13cfb16f>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key2</th>\n <th>key1</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1</th>\n <th>a</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <th>a</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>1</th>\n <th>b</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>2</th>\n <th>b</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key1</th>\n <th>key2</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">a</th>\n <th>1</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">b</th>\n <th>1</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key1</th>\n <th>key2</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>a</th>\n <th>1</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>b</th>\n <th>1</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>a</th>\n <th>2</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>b</th>\n <th>2</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key2</th>\n <th>key1</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">1</th>\n <th>a</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">2</th>\n <th>a</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>b</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key2</th>\n <th>key1</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1</th>\n <th>a</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <th>a</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>1</th>\n <th>b</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>2</th>\n <th>b</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key2</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1</th>\n <td> 6</td>\n <td> 8</td>\n <td> 10</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 12</td>\n <td> 14</td>\n <td> 16</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n </tr>\n <tr>\n <th>key1</th>\n <th>key2</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">a</th>\n <th>1</th>\n <td> 2</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 8</td>\n <td> 4</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">b</th>\n <th>1</th>\n <td> 14</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 20</td>\n <td> 10</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th></th>\n <th>state</th>\n <th colspan=\"2\" halign=\"left\">Ohio</th>\n <th>Colorado</th>\n </tr>\n <tr>\n <th></th>\n <th>color</th>\n <th>Green</th>\n <th>Red</th>\n <th>Green</th>\n </tr>\n <tr>\n <th>key1</th>\n <th>key2</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"2\" valign=\"top\">a</th>\n <th>1</th>\n <td> 0</td>\n <td> 1</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 3</td>\n <td> 4</td>\n <td> 5</td>\n </tr>\n <tr>\n <th rowspan=\"2\" valign=\"top\">b</th>\n <th>1</th>\n <td> 6</td>\n <td> 7</td>\n <td> 8</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 9</td>\n <td> 10</td>\n <td> 11</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 7</td>\n <td> one</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 6</td>\n <td> one</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> 5</td>\n <td> one</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 3</td>\n <td> 4</td>\n <td> two</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 4</td>\n <td> 3</td>\n <td> two</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>5</th>\n <td> 5</td>\n <td> 2</td>\n <td> two</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>6</th>\n <td> 6</td>\n <td> 1</td>\n <td> two</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n <tr>\n <th>c</th>\n <th>d</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"3\" valign=\"top\">one</th>\n <th>0</th>\n <td> 0</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> 5</td>\n </tr>\n <tr>\n <th rowspan=\"4\" valign=\"top\">two</th>\n <th>0</th>\n <td> 3</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 4</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 5</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 6</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th></th>\n <th>a</th>\n <th>b</th>\n <th>c</th>\n <th>d</th>\n </tr>\n <tr>\n <th>c</th>\n <th>d</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"3\" valign=\"top\">one</th>\n <th>0</th>\n <td> 0</td>\n <td> 7</td>\n <td> one</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 6</td>\n <td> one</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> 5</td>\n <td> one</td>\n <td> 2</td>\n </tr>\n <tr>\n <th rowspan=\"4\" valign=\"top\">two</th>\n <th>0</th>\n <td> 3</td>\n <td> 4</td>\n <td> two</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 4</td>\n <td> 3</td>\n <td> two</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 5</td>\n <td> 2</td>\n <td> two</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 6</td>\n <td> 1</td>\n <td> two</td>\n <td> 3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>c</th>\n <th>d</th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> one</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>1</th>\n <td> one</td>\n <td> 1</td>\n <td> 1</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>2</th>\n <td> one</td>\n <td> 2</td>\n <td> 2</td>\n <td> 5</td>\n </tr>\n <tr>\n <th>3</th>\n <td> two</td>\n <td> 0</td>\n <td> 3</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>4</th>\n <td> two</td>\n <td> 1</td>\n <td> 4</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>5</th>\n <td> two</td>\n <td> 2</td>\n <td> 5</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>6</th>\n <td> two</td>\n <td> 3</td>\n <td> 6</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n <tr>\n <th>c</th>\n <th>d</th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"3\" valign=\"top\">one</th>\n <th>0</th>\n <td> 0</td>\n <td> 7</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 6</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> 5</td>\n </tr>\n <tr>\n <th rowspan=\"4\" valign=\"top\">two</th>\n <th>0</th>\n <td> 3</td>\n <td> 4</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 4</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 5</td>\n <td> 2</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 6</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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<ipython-input-456-3cbe0b873a9e>\u001b[0m in \u001b[0;36m<module>\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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n <th>1</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2</th>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>0</th>\n <td> 2</td>\n <td> 3</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 4</td>\n <td> 5</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<class 'pandas.core.panel.Panel'>\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": "<class 'pandas.core.panel.Panel'>\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": "<pre>\n&lt;class 'pandas.core.frame.DataFrame'&gt;\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</pre>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 475,
"text": "<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)"
}
],
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Open</th>\n <th>High</th>\n <th>Low</th>\n <th>Close</th>\n <th>Volume</th>\n <th>Adj Close</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>AAPL</th>\n <td> 569.16</td>\n <td> 572.65</td>\n <td> 560.52</td>\n <td> 560.99</td>\n <td> 18606700</td>\n <td> 539.20</td>\n </tr>\n <tr>\n <th>DELL</th>\n <td> 12.15</td>\n <td> 12.30</td>\n <td> 12.05</td>\n <td> 12.07</td>\n <td> 19397600</td>\n <td> 11.68</td>\n </tr>\n <tr>\n <th>GOOG</th>\n <td> 571.79</td>\n <td> 572.65</td>\n <td> 568.35</td>\n <td> 570.98</td>\n <td> 3057900</td>\n <td> 570.98</td>\n </tr>\n <tr>\n <th>MSFT</th>\n <td> 28.76</td>\n <td> 28.96</td>\n <td> 28.44</td>\n <td> 28.45</td>\n <td> 56634300</td>\n <td> 27.01</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>AAPL</th>\n <th>DELL</th>\n <th>GOOG</th>\n <th>MSFT</th>\n </tr>\n <tr>\n <th>Date</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2012-05-22</th>\n <td> 535.33</td>\n <td> 14.59</td>\n <td> 600.80</td>\n <td> 28.25</td>\n </tr>\n <tr>\n <th>2012-05-23</th>\n <td> 548.40</td>\n <td> 12.08</td>\n <td> 609.46</td>\n <td> 27.63</td>\n </tr>\n <tr>\n <th>2012-05-24</th>\n <td> 543.36</td>\n <td> 12.04</td>\n <td> 603.66</td>\n <td> 27.60</td>\n </tr>\n <tr>\n <th>2012-05-25</th>\n <td> 540.45</td>\n <td> 12.05</td>\n <td> 591.53</td>\n <td> 27.59</td>\n </tr>\n <tr>\n <th>2012-05-28</th>\n <td> NaN</td>\n <td> 12.05</td>\n <td> NaN</td>\n <td> NaN</td>\n </tr>\n <tr>\n <th>2012-05-29</th>\n <td> 550.04</td>\n <td> 12.25</td>\n <td> 594.34</td>\n <td> 28.06</td>\n </tr>\n <tr>\n <th>2012-05-30</th>\n <td> 556.67</td>\n <td> 12.15</td>\n <td> 588.23</td>\n <td> 27.85</td>\n </tr>\n <tr>\n <th>2012-05-31</th>\n <td> 555.29</td>\n <td> 11.93</td>\n <td> 580.86</td>\n <td> 27.71</td>\n </tr>\n <tr>\n <th>2012-06-01</th>\n <td> 539.20</td>\n <td> 11.68</td>\n <td> 570.98</td>\n <td> 27.01</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th></th>\n <th>Open</th>\n <th>High</th>\n <th>Low</th>\n <th>Close</th>\n <th>Volume</th>\n <th>Adj Close</th>\n </tr>\n <tr>\n <th>Date</th>\n <th>minor</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th rowspan=\"4\" valign=\"top\">2012-05-30</th>\n <th>AAPL</th>\n <td> 569.20</td>\n <td> 579.99</td>\n <td> 566.56</td>\n <td> 579.17</td>\n <td> 18908200</td>\n <td> 556.67</td>\n </tr>\n <tr>\n <th>DELL</th>\n <td> 12.59</td>\n <td> 12.70</td>\n <td> 12.46</td>\n <td> 12.56</td>\n <td> 19787800</td>\n <td> 12.15</td>\n </tr>\n <tr>\n <th>GOOG</th>\n <td> 588.16</td>\n <td> 591.90</td>\n <td> 583.53</td>\n <td> 588.23</td>\n <td> 1906700</td>\n <td> 588.23</td>\n </tr>\n <tr>\n <th>MSFT</th>\n <td> 29.35</td>\n <td> 29.48</td>\n <td> 29.12</td>\n <td> 29.34</td>\n <td> 41585500</td>\n <td> 27.85</td>\n </tr>\n <tr>\n <th rowspan=\"4\" valign=\"top\">2012-05-31</th>\n <th>AAPL</th>\n <td> 580.74</td>\n <td> 581.50</td>\n <td> 571.46</td>\n <td> 577.73</td>\n <td> 17559800</td>\n <td> 555.29</td>\n </tr>\n <tr>\n <th>DELL</th>\n <td> 12.53</td>\n <td> 12.54</td>\n <td> 12.33</td>\n <td> 12.33</td>\n <td> 19955600</td>\n <td> 11.93</td>\n </tr>\n <tr>\n <th>GOOG</th>\n <td> 588.72</td>\n <td> 590.00</td>\n <td> 579.00</td>\n <td> 580.86</td>\n <td> 2968300</td>\n <td> 580.86</td>\n </tr>\n <tr>\n <th>MSFT</th>\n <td> 29.30</td>\n <td> 29.42</td>\n <td> 28.94</td>\n <td> 29.19</td>\n <td> 39134000</td>\n <td> 27.71</td>\n </tr>\n <tr>\n <th rowspan=\"4\" valign=\"top\">2012-06-01</th>\n <th>AAPL</th>\n <td> 569.16</td>\n <td> 572.65</td>\n <td> 560.52</td>\n <td> 560.99</td>\n <td> 18606700</td>\n <td> 539.20</td>\n </tr>\n <tr>\n <th>DELL</th>\n <td> 12.15</td>\n <td> 12.30</td>\n <td> 12.05</td>\n <td> 12.07</td>\n <td> 19397600</td>\n <td> 11.68</td>\n </tr>\n <tr>\n <th>GOOG</th>\n <td> 571.79</td>\n <td> 572.65</td>\n <td> 568.35</td>\n <td> 570.98</td>\n <td> 3057900</td>\n <td> 570.98</td>\n </tr>\n <tr>\n <th>MSFT</th>\n <td> 28.76</td>\n <td> 28.96</td>\n <td> 28.44</td>\n <td> 28.45</td>\n <td> 56634300</td>\n <td> 27.01</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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": "<class 'pandas.core.panel.Panel'>\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": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment