"
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"p.show()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import matplotlib.rcsetup as rcsetup\n",
"print(rcsetup.all_backends)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[u'GTK', u'GTKAgg', u'GTKCairo', u'MacOSX', u'Qt4Agg', u'TkAgg', u'WX', u'WXAgg', u'CocoaAgg', u'GTK3Cairo', u'GTK3Agg', u'WebAgg', u'agg', u'cairo', u'emf', u'gdk', u'pdf', u'pgf', u'ps', u'svg', u'template']\n"
]
}
],
"prompt_number": 27
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.3.1 \ubc30\uc5f4\uc5f0\uc0b0\uc73c\ub85c \uc870\uac74\uc808 \ud45c\ud604\ud558\uae30"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cond = np.array([True, False, True, True, False])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cond"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
"array([ True, False, True, True, False], dtype=bool)"
]
}
],
"prompt_number": 34
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### \uc21c\uc218 \ud30c\uc774\uc36c \ubb38\uc81c\uc810\n",
"\n",
"- \ud070 \ubc30\uc5f4 \ube60\ub974\uac8c \ucc98\ub9ac \ubd88\uac00\n",
"- \ub2e4\ucc28\uc6d0 \ubc30\uc5f4 \uc0ac\uc6a9 \ubd88\uac00"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"result = [(x if c else y)\n",
" for x, y, c in zip(xarr, yarr, cond)]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 35
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"result"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 36,
"text": [
"[1.1000000000000001, 2.2000000000000002, 1.3, 1.3999999999999999, 2.5]"
]
}
],
"prompt_number": 36
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####np.where \n",
"\n",
"- \uc544\uc8fc \uac04\uacb0\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"result = np.where(cond, xarr, yarr)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"result"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"array([ 1.1, 2.2, 1.3, 1.4, 2.5])"
]
}
],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.random.randn(4, 4)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"array([[-0.22738371, 1.00962082, -0.73187583, 0.00972816],\n",
" [-1.02646242, -0.56073136, 0.19004584, 0.29742716],\n",
" [ 0.93338441, 1.28053344, -1.13966449, -1.16674502],\n",
" [ 1.09996334, 0.65299153, 0.29683578, 0.82472068]])"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####np.where\n",
"\n",
"- 2\ubc88\uc9f8, 3\ubc88\uc9f8 \uc778\uc790\ub294 \ubc30\uc5f4\uc774 \uc544\ub2c8\ub77c\ub3c4 \ub428\n",
"- \ub458 \uc911 \ud558\ub098 \ud639\uc740 \ub458 \ub2e4 \uc2a4\uce7c\ub77c \uac12\ub3c4 \ub3d9\uc791\n",
"- \ub2e4\ub978 \ubc30\uc5f4\uc5d0 \uae30\ubc18\ud55c \uc0c8\ub85c\uc6b4 \ubc30\uc5f4 \uc0dd\uc131\n",
"- np.where(\uc870\uac74, \ucc38\uac12, \uac70\uc9d3\uac12)\n",
"- \uc870\uac74\uc774 True\uc77c \ub54c \ucc38\uac12\uc774 \uc2e4\ud589\ub418\uba70, \uc870\uac74\uc774 False\uc77c \ub54c \uac70\uc9d3\uac12\uc774 \uc2e4\ud589"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.where(arr > 0, 2, -2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"array([[-2, 2, -2, 2],\n",
" [-2, -2, 2, 2],\n",
" [ 2, 2, -2, -2],\n",
" [ 2, 2, 2, 2]])"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.where(arr > 0, 2, arr)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
"array([[-0.22738371, 2. , -0.73187583, 2. ],\n",
" [-1.02646242, -0.56073136, 2. , 2. ],\n",
" [ 2. , 2. , -1.13966449, -1.16674502],\n",
" [ 2. , 2. , 2. , 2. ]])"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 2\uac1c\uc758 \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\ub85c \uc870\ud569 \uac00\ub2a5\ud55c 4\uac00\uc9c0 \uacbd\uc6b0\n",
"\n",
"result = []\n",
"for i in range(n):\n",
" if cond1[i] and cond2[i]:\n",
" result.append(0)\n",
" elif cond1[i]:\n",
" result.append(1)\n",
" elif cond2[i]:\n",
" result.append(2)\n",
" else:\n",
" result.append(3)\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####\uc911\ucca9 where"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cond1 = False\n",
"cond2 = True"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.where(cond1 & cond2, 0,\n",
" np.where(cond1, 1, \n",
" np.where(cond2, 2, 3)))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"array(2)"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"result = 1 * (cond1 & -cond2) + 2 * (cond2 & -cond1) + 3 * -(cond1 | cond2)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"result"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
"-3"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"(cond1 & -cond2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
"0"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"2 * (cond2 & -cond1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"0"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"3 * -(cond1 | cond2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"-3"
]
}
],
"prompt_number": 16
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.3.2 \uc218\ud559 \uba54\uc11c\ub4dc\uc640 \ud1b5\uacc4 \uba54\uc11c\ub4dc"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.random.randn(5, 4)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"array([[-0.63678953, -0.62168485, 0.02496119, -1.59948229],\n",
" [ 1.50743692, -0.55029167, 1.36859314, -1.07390982],\n",
" [-1.07246643, 1.66566843, 0.21434562, -0.11323983],\n",
" [ 0.15297739, -0.14143016, -1.76468442, 0.59774678],\n",
" [-0.936252 , 1.1050578 , -0.11289262, -0.36526419]])"
]
}
],
"prompt_number": 41
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.mean()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
"-0.11758002809084407"
]
}
],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.mean(arr)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 43,
"text": [
"-0.11758002809084407"
]
}
],
"prompt_number": 43
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 44,
"text": [
"-2.3516005618168814"
]
}
],
"prompt_number": 44
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####mean\uc774\ub098 sum \uac19\uc740 \ud568\uc218\ub294 \uc120\ud0dd\uc801\uc73c\ub85c axis \uc778\uc790\ub97c \ubc1b\uc544 \ud574\ub2f9 axis\uc5d0 \ub300\ud55c \ud1b5\uacc4 \uacc4\uc0b0\ud558\uace0 \ud55c \ucc28\uc218 \ub0ae\uc740 \ubc30\uc5f4\uc744 \ubc18\ud658"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.mean(axis=1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 45,
"text": [
"array([-0.70824887, 0.31295714, 0.17357695, -0.28884761, -0.07733775])"
]
}
],
"prompt_number": 45
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# axis \uc778\uc790\ub97c \ub118\uae34 \uac83\uacfc \ub118\uae30\uc9c0 \uc54a\uc740 \uac83\uc758 \uacb0\uacfc\uac12\uc774 \uac19\ub2e4.\n",
"arr.sum(axis=0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 49,
"text": [
"array([-0.98509366, 1.45731955, -0.2696771 , -2.55414935])"
]
}
],
"prompt_number": 49
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.sum(0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 46,
"text": [
"array([-0.98509366, 1.45731955, -0.2696771 , -2.55414935])"
]
}
],
"prompt_number": 46
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.sum(axis=1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 50,
"text": [
"array([-2.83299548, 1.25182856, 0.6943078 , -1.15539042, -0.30935102])"
]
}
],
"prompt_number": 50
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.sum(1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 47,
"text": [
"array([-2.83299548, 1.25182856, 0.6943078 , -1.15539042, -0.30935102])"
]
}
],
"prompt_number": 47
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.sum?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 51
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Type: builtin_function_or_method\n",
"String form: \n",
"Docstring:\n",
"a.sum(axis=None, dtype=None, out=None)\n",
"\n",
"Return the sum of the array elements over the given axis.\n",
"\n",
"Refer to `numpy.sum` for full documentation.\n",
"\n",
"See Also\n",
"--------\n",
"numpy.sum : equivalent function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####cumsum\uacfc cumprod \uba54\uc11c\ub4dc\ub294 \uc911\uac04 \uacc4\uc0b0 \uac12\uc744 \ub2f4\uace0 \uc788\ub294 \ubc30\uc5f4\uc744 \ubc18\ud658"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
"array([[0, 1, 2],\n",
" [3, 4, 5],\n",
" [6, 7, 8]])"
]
}
],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Return the cumulative sum of the elements along the given axis.\n",
"arr.cumsum?\n",
"np.cumsum?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# \uc138\ub85c\ub85c \ub354\ud558\uae30\n",
"# 0\uc740 column\n",
"arr.cumsum(0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 26,
"text": [
"array([[ 0, 1, 2],\n",
" [ 3, 5, 7],\n",
" [ 9, 12, 15]])"
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# \uac00\ub85c\ub85c \uacf1\ud558\uae30\n",
"# 1\uc740 row\n",
"arr.cumprod(1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"array([[ 0, 0, 0],\n",
" [ 3, 12, 60],\n",
" [ 6, 42, 336]])"
]
}
],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.cumprod(0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
"array([[ 0, 1, 2],\n",
" [ 0, 4, 10],\n",
" [ 0, 28, 80]])"
]
}
],
"prompt_number": 28
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.3.3 \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\uc744 \uc704\ud55c \uba54\uc11c\ub4dc"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- \uc55e\uc758 \uba54\uc11c\ub4dc\uc5d0\uc11c \ubd88\ub9ac\uc5b8 \uac12\uc740 1(True), 0(False)\uc73c\ub85c \ucde8\uae09\n",
"- \ub530\ub77c\uc11c \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\uc5d0 \ub300\ud55c sum \uba54\uc11c\ub4dc\ub97c \uc2e4\ud589\ud558\uba74 True\uc778 \uc6d0\uc18c\uc758 \uac1c\uc218\ub97c \ubc18\ud658"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = randn(100)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"(arr > 0).sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 30,
"text": [
"51"
]
}
],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
"array([ -3.23981577e-01, 8.28471364e-01, -2.28531600e-01,\n",
" 7.81542231e-01, 7.65533575e-01, -2.30715331e-01,\n",
" -7.90815091e-01, -1.51521142e+00, 9.02727281e-01,\n",
" -7.96393829e-01, -1.48280372e+00, 2.14388106e+00,\n",
" 1.22935275e+00, 9.08580945e-01, -3.17050232e+00,\n",
" -3.19110230e-01, -7.02813098e-01, -1.33922041e-01,\n",
" 3.23867223e-01, -5.41750422e-01, 7.19855447e-01,\n",
" 1.53577806e+00, -5.33780671e-01, -3.06636492e-01,\n",
" 2.22113202e+00, 4.74560650e-01, 5.32113570e-02,\n",
" 4.08017943e-01, -1.34531648e+00, -1.04639008e+00,\n",
" -3.64408292e-01, -5.69251804e-01, -3.04232587e-01,\n",
" -9.34929999e-01, -1.22969197e+00, -2.70477054e-01,\n",
" 8.81988283e-01, 6.38303932e-02, -1.84218189e-01,\n",
" -9.37450358e-02, 1.43859306e+00, 2.28406301e-01,\n",
" -3.17556858e-01, -5.85153395e-01, -1.44669215e-02,\n",
" 1.57324249e-03, 1.18927149e+00, 6.92504354e-01,\n",
" 3.17347370e-01, -6.44348559e-01, -6.87929676e-01,\n",
" 1.06098783e+00, 3.41548590e-01, 9.72900494e-01,\n",
" -1.02978994e+00, 2.06980280e+00, 2.35221308e+00,\n",
" -1.42752411e+00, 1.44456522e+00, 5.16166548e-01,\n",
" 7.78068763e-03, -1.01988745e+00, -1.34798508e+00,\n",
" 5.30907112e-01, 1.32554042e+00, -1.14103792e+00,\n",
" -1.35376884e+00, -1.65932729e+00, -6.92428198e-01,\n",
" -3.76567403e-01, 4.58025510e-01, 1.70369468e+00,\n",
" -6.22888746e-01, -8.00883755e-01, -3.91857714e-01,\n",
" 2.04939933e-01, 8.23046230e-01, 3.93639430e-01,\n",
" 2.08406878e-01, -5.24268456e-02, 1.15119295e+00,\n",
" 8.63978530e-01, 4.14495650e-01, -2.29354833e+00,\n",
" 9.70715934e-01, 6.35288166e-01, 1.19324100e+00,\n",
" 2.40637663e-01, 8.95268524e-01, 7.65764883e-01,\n",
" -1.96315521e-02, 9.32871736e-02, -4.54868527e-01,\n",
" -3.47747570e-01, -1.68156608e+00, -6.87830148e-01,\n",
" 4.88761296e-02, 1.46764057e+00, -1.85496551e+00,\n",
" 8.81609302e-01])"
]
}
],
"prompt_number": 31
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- any: \ud558\ub098 \uc774\uc0c1\uc758 True\uac12 \uac80\uc0ac\n",
"- all: \ubaa8\ub4e0 \uc6d0\uc18c\uac00 True\uc778\uc9c0 \uac80\uc0ac"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bools = np.array([False, False, True, False])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bools.any()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 33,
"text": [
"True"
]
}
],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bools.all()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
"False"
]
}
],
"prompt_number": 34
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bools = np.array([True, True, True, True])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 35
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bools.any()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 36,
"text": [
"True"
]
}
],
"prompt_number": 36
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bools.all()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 37,
"text": [
"True"
]
}
],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# 0\ub9cc \uc544\ub2c8\uba74 True\n",
"# \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\uc774 \uc544\ub2c8\uc5b4\ub3c4 \ub3d9\uc791\n",
"arr.any()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 52,
"text": [
"True"
]
}
],
"prompt_number": 52
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.all()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 53,
"text": [
"True"
]
}
],
"prompt_number": 53
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.3.4 \uc815\ub82c"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.random.randn(8)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 39,
"text": [
"array([-1.29426519, 0.14954979, 0.12856676, 0.98922155, 0.51783933,\n",
" 0.08145027, 1.34539112, -1.5399891 ])"
]
}
],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.sort()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"array([-1.5399891 , -1.29426519, 0.08145027, 0.12856676, 0.14954979,\n",
" 0.51783933, 0.98922155, 1.34539112])"
]
}
],
"prompt_number": 41
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### \ub2e4\ucc28\uc6d0 \ubc30\uc5f4\uc758 \uc815\ub82c\uc740 sort \uba54\uc11c\ub4dc\uc5d0 \ub118\uae34 \ucd95\uc758 \uac12\uc5d0 \ub530\ub77c 1\ucc28\uc6d0 \ubd80\ubd84 \uc815\ub82c"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = randn(5, 3)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 65
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 66,
"text": [
"array([[-0.64670479, -0.61555955, 0.46512793],\n",
" [ 2.45875721, 0.30812392, -2.07493597],\n",
" [-1.93571858, 0.17247077, -1.41579888],\n",
" [-0.67120369, -0.6021445 , -0.47781563],\n",
" [-0.45793084, 0.21905382, -0.39171426]])"
]
}
],
"prompt_number": 66
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# row sort\n",
"arr.sort(1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 67
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 68,
"text": [
"array([[-0.64670479, -0.61555955, 0.46512793],\n",
" [-2.07493597, 0.30812392, 2.45875721],\n",
" [-1.93571858, -1.41579888, 0.17247077],\n",
" [-0.67120369, -0.6021445 , -0.47781563],\n",
" [-0.45793084, -0.39171426, 0.21905382]])"
]
}
],
"prompt_number": 68
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# column sort\n",
"arr.sort(0)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 69
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 70,
"text": [
"array([[-2.07493597, -1.41579888, -0.47781563],\n",
" [-1.93571858, -0.61555955, 0.17247077],\n",
" [-0.67120369, -0.6021445 , 0.21905382],\n",
" [-0.64670479, -0.39171426, 0.46512793],\n",
" [-0.45793084, 0.30812392, 2.45875721]])"
]
}
],
"prompt_number": 70
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# row sort == arr.sort(1)\n",
"arr.sort()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 63
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 64,
"text": [
"array([[ -2.04858580e+00, -1.17193396e+00, 1.32127939e-01],\n",
" [ -1.47844830e+00, -7.15492360e-01, 4.59896618e-01],\n",
" [ -1.28286231e+00, -5.63080466e-01, 9.40448815e-01],\n",
" [ -4.58628453e-01, 2.07478453e-01, 1.01902093e+00],\n",
" [ 1.35560421e-03, 5.62354352e-01, 2.26660736e+00]])"
]
}
],
"prompt_number": 64
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- \ubc30\uc5f4\uc758 \ubd84\uc704\uc218\uac00 \ubb50\uc9c0??\n",
"- \uc6b0\uc120 \ubc30\uc5f4\uc744 \uc815\ub82c\ud55c \ud6c4\uc5d0 \ud2b9\uc815 \ubd80\uc704\uc758 \uac12\uc744 \uc120\ud0dd"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"large_arr = randn(1000)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 71
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"large_arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 72,
"text": [
"array([ -4.29508395e-01, -1.36200493e+00, 4.95139033e-01,\n",
" 4.00047918e-01, -4.60536691e-01, -2.12402831e-01,\n",
" -9.06761307e-01, -4.58112023e-01, -1.89420493e-01,\n",
" 5.88505389e-01, 1.54879159e+00, 1.94523033e+00,\n",
" -1.10438705e+00, -2.00339405e-01, 4.40621245e-01,\n",
" -6.73178500e-01, -8.11953485e-01, -5.02833922e-01,\n",
" 1.10495039e-02, 5.13181343e-02, -3.05642333e-01,\n",
" 2.99366103e-01, 4.45071326e-01, -1.57670159e+00,\n",
" 2.41872881e-01, -3.03246248e-01, -2.69677731e+00,\n",
" -1.44213262e-01, 4.95691564e-01, 1.47744247e+00,\n",
" 2.47281292e+00, -5.58374769e-01, -5.48004074e-01,\n",
" 1.47523041e+00, -1.42483309e+00, 6.88823001e-01,\n",
" -2.32917572e-01, 7.93444413e-01, -6.87697145e-01,\n",
" 9.60635202e-02, -9.06197430e-01, 4.54872711e-02,\n",
" 1.79188637e-01, 8.69338847e-01, 9.68360788e-01,\n",
" -6.70549697e-02, -5.37811590e-01, 2.51251245e-01,\n",
" 1.32979384e+00, -9.09943189e-01, 1.61039789e+00,\n",
" -6.34625947e-01, -1.84791886e-01, -3.48497830e-02,\n",
" 4.63259730e-01, 2.30507960e-01, 1.22105211e-01,\n",
" 1.13231687e+00, 5.09248157e-01, -1.00935787e+00,\n",
" -6.99156259e-01, 6.92762353e-01, 1.07228328e+00,\n",
" 2.63261095e-01, -4.61268649e-01, -1.21295079e-02,\n",
" 1.79632812e+00, -9.65936552e-02, -4.08273329e-01,\n",
" -3.00067241e-01, -1.10413596e+00, -7.83237493e-01,\n",
" -2.22909413e-01, 1.03801629e+00, -2.09290504e-01,\n",
" -8.62668264e-01, 7.14459623e-01, -1.73361316e-01,\n",
" 1.07723630e+00, 2.23126720e-01, 3.72277818e-01,\n",
" 1.17767020e+00, -7.58352226e-01, -5.02207697e-01,\n",
" -3.60673507e-01, -2.23833716e+00, -1.13628708e+00,\n",
" 6.73188450e-01, -7.92321106e-01, 5.21635062e-01,\n",
" 5.44919937e-01, -1.47894173e+00, 5.16450627e-01,\n",
" 1.19299429e+00, 1.43446337e-01, -9.28864070e-01,\n",
" -8.76316357e-01, 3.73573015e-01, -8.04425224e-01,\n",
" 5.24236617e-01, -9.08890292e-01, -6.34736133e-01,\n",
" 1.34623284e+00, -9.29476165e-01, 1.91166008e+00,\n",
" 2.60012822e-01, -9.89962582e-01, -9.99338803e-02,\n",
" -6.12590213e-01, -5.95791161e-01, -8.59075224e-01,\n",
" -5.84090801e-02, -1.71179541e+00, -1.81882533e+00,\n",
" -1.67316878e+00, -2.03148775e+00, -3.99763191e-01,\n",
" 1.02217992e-01, -7.63591358e-01, 6.27405302e-01,\n",
" -6.48137038e-01, 8.02724324e-01, 7.29054021e-01,\n",
" 8.45711411e-01, -6.27447749e-01, 9.68040204e-01,\n",
" -1.20479407e+00, -6.84909828e-01, -1.32033351e+00,\n",
" -6.74435778e-01, -2.03561662e-01, -1.29237414e+00,\n",
" 2.33811627e+00, 1.83776057e+00, 1.11556763e-01,\n",
" -1.68339529e-01, 6.56059095e-02, 2.65158367e-01,\n",
" 2.66335457e+00, 7.03558990e-01, -2.69842939e-01,\n",
" -7.02982583e-01, -4.74552810e-01, 2.34925495e-02,\n",
" -1.37147570e+00, 1.58684535e-02, -5.67087413e-01,\n",
" 3.92901939e-03, -6.60641701e-01, 8.90034849e-01,\n",
" 2.44293395e+00, -1.88248419e+00, 1.14142368e-02,\n",
" 6.25897745e-02, 7.56576704e-01, 3.29939470e-01,\n",
" 2.20075664e-01, 9.79923464e-01, 5.32580306e-02,\n",
" -6.75553770e-01, 1.35057852e+00, -4.50302535e-01,\n",
" 1.68233640e+00, 2.79554382e-01, 5.38503551e-02,\n",
" 3.56232141e-01, -4.94321902e-01, -8.86454436e-01,\n",
" 1.44427854e+00, -2.02695546e-01, -1.39553176e-03,\n",
" 4.24066238e-01, -9.31776849e-01, -4.03702618e-01,\n",
" 1.24251395e+00, 1.80955269e+00, -5.71768210e-01,\n",
" 2.39689099e-01, 1.63196605e+00, 8.07407676e-01,\n",
" 1.53420395e+00, 1.42179316e+00, 2.27843853e+00,\n",
" 8.03832220e-01, -1.85708357e-01, -3.84618866e-01,\n",
" -9.73839901e-01, -6.40194272e-01, -1.11862402e+00,\n",
" -7.72480188e-01, -1.36718409e+00, -1.07401935e+00,\n",
" 1.59331230e+00, 8.72952920e-01, 1.42536690e-01,\n",
" 6.60584412e-01, 3.60638582e-01, 2.30646928e-03,\n",
" -9.49153500e-01, 7.48317714e-02, 1.17793492e+00,\n",
" -9.43259531e-01, -1.63496881e+00, -1.40158392e+00,\n",
" -1.88909547e+00, 1.04035212e+00, -7.34070917e-02,\n",
" 2.36539211e-01, 4.96466550e-01, 1.06531880e-01,\n",
" 7.68190763e-01, 1.62263596e+00, -2.16199725e-01,\n",
" 5.50272846e-01, -2.22164026e+00, -9.05457240e-01,\n",
" -8.25657951e-01, -2.35960958e-02, 1.57733609e+00,\n",
" -8.42690033e-01, 1.01029149e+00, -3.89522140e-01,\n",
" 2.24196358e+00, 1.40676970e+00, -7.23178560e-01,\n",
" 3.77128096e-01, 1.76395097e-01, -1.20027683e+00,\n",
" 1.68082983e+00, 9.36354944e-01, 3.28059562e-01,\n",
" 1.11334640e+00, -5.50203604e-01, -7.28600779e-01,\n",
" 3.77103373e-01, -7.55643567e-01, -8.83098102e-02,\n",
" 3.54852365e-01, -7.71534792e-01, -6.92987535e-03,\n",
" -4.46883339e-01, -1.13253883e+00, -1.74730807e+00,\n",
" -2.90835798e-01, -2.64816142e-01, -1.12801293e+00,\n",
" 8.87401625e-01, -2.02248839e-01, -1.07404348e+00,\n",
" -7.64295571e-01, -9.13545357e-01, -1.52115886e+00,\n",
" 8.35135084e-01, -2.63538561e-01, 2.91623652e-01,\n",
" -8.77624702e-01, -4.12720393e-02, 8.68549898e-01,\n",
" 2.87465694e-01, 6.16241466e-02, 2.49722884e-01,\n",
" -3.57049160e-01, 8.80203727e-01, 7.53353403e-01,\n",
" -2.64328904e-01, 9.55666238e-01, 2.39277732e-01,\n",
" 5.13352635e-02, 1.33661969e-01, 8.29789594e-02,\n",
" 2.83774160e-01, -1.43584702e+00, -9.07379596e-02,\n",
" 8.29396005e-01, -7.23347532e-01, 1.29933332e+00,\n",
" 3.16552961e-01, -2.90766277e-01, 1.02591928e+00,\n",
" 2.50048040e-01, 1.62370749e-01, 5.84664973e-01,\n",
" -3.78158131e-01, 1.81228938e+00, -8.33741222e-01,\n",
" -1.51988731e+00, -2.44823924e-01, -6.12378686e-01,\n",
" -1.91732894e+00, -6.30232869e-01, 3.16687225e-01,\n",
" 1.15717681e+00, -7.12191015e-01, 6.42571088e-01,\n",
" -1.49411865e+00, -8.70006521e-02, -6.10247820e-01,\n",
" -1.91302577e-01, 1.35799894e+00, -1.95041755e+00,\n",
" -3.51379530e-01, 3.71495503e-01, -2.00287859e+00,\n",
" 1.41282095e+00, 1.85591212e+00, -8.01882224e-01,\n",
" -6.98175787e-04, -3.05526912e-01, -3.90661627e-01,\n",
" -1.73071827e+00, -8.76039187e-01, -1.79323245e+00,\n",
" -4.51736762e-01, 9.80646954e-01, 9.38154844e-02,\n",
" 5.11654704e-01, 6.15532721e-01, -1.14700052e-01,\n",
" 4.85996352e-01, 7.51639064e-02, 5.35474476e-01,\n",
" -9.88417001e-02, -8.33385972e-01, -7.31626734e-01,\n",
" -6.08904215e-01, -9.21113698e-01, -2.13082227e-01,\n",
" 7.09102578e-01, -5.41494507e-01, 3.05555972e-01,\n",
" 9.55230292e-02, -3.69808547e-01, 1.92172171e+00,\n",
" -5.58850774e-01, -1.10528092e+00, 4.24916854e-01,\n",
" -8.72818054e-02, 6.21175240e-01, 8.25144871e-01,\n",
" -9.61513023e-01, -1.62155561e+00, 3.47142814e-02,\n",
" -1.69636901e-01, 2.47938480e+00, 4.80396091e-01,\n",
" 1.24418065e+00, 2.45412578e+00, -3.43163489e-02,\n",
" 3.62465604e-01, 2.42711151e-01, -4.74011779e-01,\n",
" 1.16674977e-01, 8.97977547e-01, -2.37991927e+00,\n",
" 2.21798841e-01, -1.10939751e+00, -1.11119638e+00,\n",
" 2.72332092e-01, -1.45628595e+00, 3.20351615e-02,\n",
" 4.07968884e-01, 1.01627667e+00, -2.58984149e-02,\n",
" -2.35832288e+00, -2.31968076e-02, -2.40170151e-01,\n",
" 1.62098680e+00, -5.75439430e-01, -6.09768274e-01,\n",
" -1.21109933e+00, -7.73292408e-01, -6.22048657e-01,\n",
" -4.40869265e-01, 5.53117253e-01, 8.57001000e-01,\n",
" -8.79901838e-01, 7.15984218e-01, -1.02821296e+00,\n",
" 1.78075394e-01, -8.04159948e-01, 1.17595832e+00,\n",
" 5.28495647e-01, 5.80977393e-02, 1.33655351e+00,\n",
" -4.06637081e-01, -2.05456235e+00, -6.52023036e-01,\n",
" 1.45482527e+00, 1.73943375e+00, 6.28849148e-01,\n",
" -1.64283521e+00, 2.12507256e-01, 4.63925360e-01,\n",
" -1.16238730e+00, 7.20037298e-01, -4.03416456e-01,\n",
" 6.54250059e-01, 6.47219824e-01, -2.20080147e+00,\n",
" -9.97843974e-02, -1.80832610e-01, -1.10556494e-01,\n",
" 2.60359081e-01, 2.40179505e+00, 6.22851851e-02,\n",
" -2.13086313e+00, -1.29896815e+00, -4.18185758e-01,\n",
" 6.10711929e-01, 7.16393388e-01, -1.42035186e+00,\n",
" 9.40327241e-01, 6.76687404e-01, 3.50961733e-01,\n",
" -9.77133508e-01, -1.15802802e+00, 6.88848230e-01,\n",
" 4.72212304e-01, -3.23382923e-01, -1.36623347e-01,\n",
" -1.55208294e-01, -7.29429389e-01, 6.13177446e-02,\n",
" 3.13487245e-01, -3.70044577e-02, -9.82971433e-01,\n",
" -6.14031485e-01, -1.11019736e+00, 3.28132639e-01,\n",
" 1.90203360e+00, 1.37839177e+00, 5.04850922e-01,\n",
" 1.55736851e+00, -4.80397363e-01, 1.93732087e+00,\n",
" 7.77678537e-01, -4.20329928e-01, 3.36142107e-01,\n",
" -1.62302623e-01, 5.44727047e-01, 7.33916407e-01,\n",
" 1.35574227e+00, -3.41454302e-02, 2.52098960e+00,\n",
" 1.33278528e+00, 4.48731345e-01, 1.55389587e+00,\n",
" -6.80416636e-01, -1.10077282e+00, -1.39536547e+00,\n",
" 4.33739200e-01, 1.38480391e+00, 6.54759422e-01,\n",
" -1.21447063e-01, -4.63864933e-01, 2.77641308e-01,\n",
" 1.40542176e+00, -1.79853054e-01, -2.42234125e+00,\n",
" -5.99723068e-01, 9.36188901e-01, 5.78450429e-01,\n",
" 7.05092627e-03, 1.01614086e+00, -6.24630235e-01,\n",
" 1.17857022e+00, -3.02260214e-01, 1.07950240e+00,\n",
" -6.33355327e-01, 1.33641767e-02, 7.19690584e-02,\n",
" -1.01628323e+00, -1.12636781e+00, -8.89987133e-02,\n",
" 5.65151389e-01, 2.06625009e-01, 7.43459540e-01,\n",
" 1.99156262e+00, 1.48835038e+00, -2.50286866e-01,\n",
" -7.27403363e-01, -1.24200346e+00, -3.06306850e+00,\n",
" -1.80778446e+00, -3.33644156e-01, -1.43404006e+00,\n",
" -2.15953652e+00, 3.76675514e-01, 9.79053581e-01,\n",
" 5.43741044e-01, 2.21124759e-01, 5.60466563e-01,\n",
" -1.91870650e-01, -1.22448926e+00, 1.78564790e-01,\n",
" -6.65430848e-01, 4.21908324e-01, 1.85672416e-01,\n",
" -3.41986446e-01, 9.89644593e-01, 1.26244858e-01,\n",
" 6.88194354e-01, 1.25838367e-01, 1.25238296e-01,\n",
" 6.17139237e-01, -4.75649906e-01, -6.93480958e-01,\n",
" 1.18864588e+00, 2.01864890e-01, 7.90335342e-01,\n",
" -1.28902614e-01, 4.58601573e-01, -3.80931197e-01,\n",
" -4.08259872e-01, 1.21775430e+00, 1.61416839e-01,\n",
" -5.96590011e-01, 6.96609989e-01, -1.44672347e+00,\n",
" -1.33769274e+00, 9.22626621e-01, -3.89547785e-01,\n",
" -1.76797055e-01, 2.46675920e-02, 4.40859374e-01,\n",
" -2.58293339e-01, 1.85961612e+00, -8.76651861e-01,\n",
" 1.72902552e+00, 7.80398510e-01, -4.87105846e-01,\n",
" 7.17534644e-01, 3.44022541e-01, 5.92497233e-01,\n",
" -4.29391939e-01, 7.47938330e-01, -1.17035423e+00,\n",
" -1.10064561e+00, 6.09757025e-01, -1.25808772e+00,\n",
" -8.52684024e-01, 2.58162718e-01, -1.33686422e+00,\n",
" 1.10106603e+00, 2.66032633e+00, 1.87994318e-01,\n",
" 3.49947032e-02, 1.85858430e-01, -7.24792358e-01,\n",
" 2.64808895e+00, 2.45444623e-01, -1.34336055e+00,\n",
" -7.72446599e-01, -1.51602891e+00, -6.50233076e-01,\n",
" -1.56844751e+00, -1.05062346e+00, -2.86973260e-01,\n",
" 7.09962361e-02, -5.39234173e-01, -2.82752854e-01,\n",
" 2.15517546e-01, -7.03144813e-01, 1.18600101e+00,\n",
" -7.00184252e-01, -8.32132624e-01, -3.78653229e-02,\n",
" -1.88972355e+00, -6.38183518e-01, -4.65591527e-02,\n",
" -7.61785553e-01, 1.46353111e+00, 7.79171044e-01,\n",
" -1.46324939e-01, 7.29982555e-02, 1.15421810e+00,\n",
" -2.02005208e+00, 2.11417505e+00, -6.42565116e-01,\n",
" 3.35868153e+00, 6.80035733e-01, -1.26182384e+00,\n",
" -9.75333995e-01, 5.67174934e-01, 2.39942339e-01,\n",
" -5.03370558e-01, 2.08472782e-01, 4.14567129e-01,\n",
" 2.18867297e+00, 1.94173622e+00, 5.10886461e-02,\n",
" -1.50998301e-01, 2.77117503e+00, 7.48789039e-01,\n",
" -4.15478038e-01, -1.13996536e+00, 1.51877559e-01,\n",
" -4.87385112e-02, 4.08771408e-01, -9.42060459e-01,\n",
" 6.88676421e-01, -1.49426942e+00, -1.00135323e+00,\n",
" 1.52729803e+00, -4.67584671e-01, -1.61988635e+00,\n",
" -1.10527813e+00, 1.06891791e-01, -6.54341299e-01,\n",
" 9.41014842e-01, 2.28082939e+00, -8.45188292e-01,\n",
" -8.26822509e-01, 2.13322954e-02, 4.10757063e-01,\n",
" -1.47180689e+00, -7.74095839e-01, 1.36211756e-01,\n",
" 2.75901949e-01, 1.81900254e+00, -2.33384892e+00,\n",
" -1.29414249e+00, -4.50153119e-01, -2.05601179e-01,\n",
" 1.87965751e-01, -8.17752911e-01, 1.07559648e+00,\n",
" -2.38538151e-01, 2.13688230e-01, 1.91924925e+00,\n",
" -2.49130302e-02, 7.77207484e-01, -2.84147970e-01,\n",
" -7.87791709e-01, -2.85567202e-02, -1.00152846e+00,\n",
" -1.11487337e+00, -3.34068438e-01, -1.10442514e+00,\n",
" -3.10453464e-01, 2.20479749e-01, 4.92794308e-01,\n",
" -8.61866176e-01, 1.22720947e+00, 2.61509433e+00,\n",
" 7.23622094e-01, 8.74436635e-01, -1.40880195e+00,\n",
" -1.43649743e-01, 1.78329843e+00, 3.00309866e-01,\n",
" -1.26393003e+00, 3.38722686e-01, -9.79864530e-02,\n",
" -1.13247094e+00, -2.86781448e+00, -1.64946873e+00,\n",
" -4.05287624e-01, -5.45433262e-01, -1.95246018e-01,\n",
" 2.39543750e-01, -4.98774227e-01, -1.21814350e-02,\n",
" -5.06007174e-01, 7.68324470e-01, -2.12053662e+00,\n",
" -8.22306466e-01, -6.24000188e-01, -7.76546717e-01,\n",
" -1.23826293e+00, -2.51329803e-01, 2.00795361e-01,\n",
" -1.81302408e+00, -3.00796763e-01, 9.77384496e-01,\n",
" -5.17927752e-01, 4.42469682e-01, 2.56194557e-01,\n",
" 1.11326882e+00, -8.73586836e-02, 7.20254122e-01,\n",
" -1.55356457e+00, -2.83373537e-01, -5.44600031e-01,\n",
" -1.77836190e-01, -6.97885512e-01, 2.93182988e-01,\n",
" 2.23250396e-01, -2.00184656e-01, 4.53104013e-01,\n",
" -8.99839543e-01, -2.63440759e-01, 1.73555024e+00,\n",
" -8.65562209e-01, 8.87114990e-02, 1.49192944e+00,\n",
" 4.92897939e-01, 5.84869831e-01, 1.41941060e-01,\n",
" 5.71834441e-01, -1.17015462e+00, 8.82357243e-01,\n",
" -2.74077065e-01, -3.54206587e-01, 7.96728656e-01,\n",
" -1.13585621e+00, -2.81575824e-01, 1.67728342e+00,\n",
" -9.97413801e-01, -1.56432424e+00, 1.05543157e+00,\n",
" -1.85721071e-01, -1.08844987e+00, 2.30777471e+00,\n",
" -3.98923030e-01, -1.52689531e+00, -1.30988472e-01,\n",
" 7.48857114e-01, -3.16926160e-01, -4.01547413e-01,\n",
" 2.61188599e+00, -7.87303611e-01, -8.64018266e-02,\n",
" 1.48648294e+00, 1.98419381e-01, -1.47456655e+00,\n",
" -7.32414736e-01, 3.46203803e-01, -1.85189266e+00,\n",
" 7.82567139e-01, 6.82734123e-01, -9.44323685e-01,\n",
" -1.87257316e-01, -1.06771291e+00, 1.08064620e+00,\n",
" -7.66393733e-02, 9.80222553e-01, -1.47727385e+00,\n",
" 4.08454658e-01, 1.89668089e+00, -1.88790295e-02,\n",
" -6.58958311e-02, 4.73879817e-01, -1.28187179e-01,\n",
" 4.34665769e-01, 2.50449352e-01, 1.63058445e-01,\n",
" -2.03782588e+00, 8.63814259e-01, -7.42734565e-01,\n",
" -1.22266620e-01, -7.04399843e-01, 1.50658853e-01,\n",
" 5.12510391e-01, 1.19559712e+00, -4.06416997e-01,\n",
" 3.42040589e-01, 3.65108960e-01, -4.74748622e-01,\n",
" 2.24683364e-01, 2.40113935e+00, -9.24880883e-01,\n",
" 1.62616343e+00, 4.60089251e-01, 9.57186419e-01,\n",
" -1.18852773e+00, 4.02634261e-01, -8.94951593e-02,\n",
" -1.58434473e+00, -6.33301119e-01, 1.63076520e+00,\n",
" 7.02202941e-01, 4.04983214e-01, -4.69827009e-01,\n",
" -1.17511971e+00, -1.06989636e+00, 1.72591774e+00,\n",
" 1.29562104e+00, -1.26193161e+00, 1.79053389e+00,\n",
" -1.10715627e+00, 3.24061122e-01, 1.38537009e-01,\n",
" 1.51724631e+00, 1.62207931e-01, 1.41439807e+00,\n",
" -1.27736321e+00, -2.16237283e+00, 9.65604403e-02,\n",
" -1.86342044e-02, 4.61363769e-01, -3.08867090e-01,\n",
" -1.69491323e-01, -9.59122944e-01, -1.56478776e+00,\n",
" 7.95927622e-01, -1.02158175e+00, -1.71476029e+00,\n",
" -1.61932435e+00, -2.01502285e+00, -4.49689106e-01,\n",
" -2.34354770e+00, -3.30105942e-01, -7.32951375e-03,\n",
" -8.36623505e-02, 4.26072922e-01, 2.19353979e-01,\n",
" 1.22479187e+00, 1.19254879e+00, -8.04625281e-01,\n",
" 4.11856826e-01, 2.39721580e+00, -1.59760131e+00,\n",
" 9.04523377e-01, 3.94967156e-01, 7.12154848e-01,\n",
" -4.65484065e-02, -4.98318008e-02, -1.00875851e-01,\n",
" 7.54675058e-01, 6.28805068e-01, -9.09272660e-01,\n",
" -2.34259096e+00, 1.57635169e+00, -1.25166398e+00,\n",
" 6.78547266e-02, 1.25630775e+00, -1.93908789e-01,\n",
" -6.00056825e-01, -2.91714609e-01, 1.55098025e-01,\n",
" 9.05506330e-01, -3.92652143e-01, 4.85622749e-01,\n",
" 1.90143683e+00, 1.01600482e+00, -5.69249135e-01,\n",
" -3.19852665e-02, -5.34632662e-01, -4.47829818e-01,\n",
" 6.37598585e-01, -1.04838837e-01, -1.75949403e+00,\n",
" -6.64564117e-01, -5.23301481e-01, 1.20324045e+00,\n",
" 5.59718853e-01, 1.43650472e+00, 2.31763710e-01,\n",
" 3.99944809e-01, -4.80131315e-01, 2.46383893e-01,\n",
" -7.58240568e-01, -3.95459908e-01, 4.74421627e-02,\n",
" 1.04142021e+00, -1.85600715e+00, -5.20732886e-01,\n",
" -7.65829831e-01, 3.03178443e-01, 2.40769604e-01,\n",
" -9.52693138e-01, -2.53175152e-01, -3.61232252e-01,\n",
" 6.70420510e-01, -6.91753453e-01, -4.69661353e-01,\n",
" 8.32496698e-01, 5.95664666e-01, 8.60709015e-01,\n",
" -6.00647042e-01, -3.92609128e-01, -1.15103600e+00,\n",
" 8.80570781e-01, 5.72100646e-01, -6.43346289e-01,\n",
" 1.11319831e+00, 1.45815845e+00, -3.57908899e-01,\n",
" 2.16407885e-02, 3.09683660e-01, 2.10969740e+00,\n",
" -4.86025303e-01, 2.06043707e+00, -2.27583903e-01,\n",
" 3.37812391e-01, -8.66030298e-01, 5.31815471e-01,\n",
" -3.04041167e-01, 7.92199769e-01, -1.80331770e+00,\n",
" -1.96914402e+00, -1.38389701e+00, 2.17982344e-01,\n",
" 4.82257069e-01, 1.35463083e+00, -5.62271966e-01,\n",
" 9.90198843e-01, -2.35984141e-01, -5.27349929e-01,\n",
" -4.56075258e-02, -5.82049390e-01, -5.36539610e-01,\n",
" 1.92096253e-01, -1.98882554e-01, 6.77706899e-01,\n",
" -2.17204851e-01, -4.84412234e-01, 6.25187882e-02,\n",
" -1.52047818e-01, -1.61634677e-01, -3.06279413e-01,\n",
" -1.41152153e+00, -1.09372297e+00, -1.44265009e+00,\n",
" -2.53147106e-01, -8.89935140e-02, 4.10404084e-01,\n",
" -6.07883105e-01, 3.18176412e-01, -7.48708208e-01,\n",
" -6.44991708e-01, -4.65583587e-01, 5.13852326e-01,\n",
" -1.79461424e-01, 1.40860971e+00, 3.85209228e-01,\n",
" -1.93957680e+00, 7.32086042e-01, 3.25055708e-01,\n",
" -3.20540178e-01, 1.09525185e-01, 3.55497256e-01,\n",
" -2.44301493e-01, 6.30860391e-02, -2.00332466e+00,\n",
" 7.13372324e-01, -1.89384649e+00, 1.09057189e+00,\n",
" -5.84535175e-01, 9.55037730e-01, 8.08094003e-01,\n",
" 7.21255488e-01, 8.70521349e-01, -1.07160654e+00,\n",
" 3.68817734e-01, -1.20169678e+00, -1.86614879e+00,\n",
" 1.17480438e+00, 1.34851916e+00, -3.33241044e-01,\n",
" -8.25865193e-01, -1.00180734e-01, 4.35692098e-01,\n",
" -1.05751208e+00, -8.97325897e-01, -8.94678084e-01,\n",
" 3.26291177e-01, 1.55247072e+00, 1.12318897e+00,\n",
" 4.34361064e-01, 6.19221545e-01, -4.02797021e-01,\n",
" 1.13527092e+00, -1.30091498e+00, 1.08391983e+00,\n",
" -8.23290340e-01, -1.53585005e+00, -1.00746423e-01,\n",
" 3.39686865e-01, 5.54838806e-01, -1.01445556e+00,\n",
" -1.14410079e+00, 1.10134860e+00, 3.27000521e-01,\n",
" 5.82213994e-01, 9.56807182e-01, -3.20736912e-02,\n",
" 1.99519577e-01, 2.96282262e-01, 2.24547095e-01,\n",
" -8.67865620e-01, -8.02078530e-01, -2.53432136e+00,\n",
" 1.21763219e+00, -1.60727166e+00, 5.67089675e-02,\n",
" -1.07681000e+00, -1.58144448e+00, 1.41052682e+00,\n",
" 5.57275658e-01, 2.73073742e-01, -5.91073898e-01,\n",
" -5.74964650e-02, 7.13222633e-01, 7.38507361e-02,\n",
" -7.10852978e-01, 1.52470350e+00, 1.79084849e-01,\n",
" 6.53579705e-01])"
]
}
],
"prompt_number": 72
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"large_arr.sort()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 73
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"int(0.05 * len(large_arr))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 75,
"text": [
"50"
]
}
],
"prompt_number": 75
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"large_arr[int(0.05 * len(large_arr))]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 76,
"text": [
"-1.6198863490901547"
]
}
],
"prompt_number": 76
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"large_arr[50]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 77,
"text": [
"-1.6198863490901547"
]
}
],
"prompt_number": 77
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.3.5 \uc9d1\ud569 \ud568\uc218"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 52
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.unique(names)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 53,
"text": [
"array(['Bob', 'Joe', 'Will'], \n",
" dtype='|S4')"
]
}
],
"prompt_number": 53
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ints = np.array([3, 3, 3, 2, 2, 1, 1, 4, 4])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 54
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.unique(ints)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 55,
"text": [
"array([1, 2, 3, 4])"
]
}
],
"prompt_number": 55
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####\uc21c\uc218 \ud30c\uc774\uc36c \uad6c\ud604"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sorted(set(names))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 56,
"text": [
"['Bob', 'Joe', 'Will']"
]
}
],
"prompt_number": 56
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%timeit np.unique(names)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"100000 loops, best of 3: 11 \u00b5s per loop\n"
]
}
],
"prompt_number": 57
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%timeit sorted(set(names))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"100000 loops, best of 3: 2.4 \u00b5s per loop\n"
]
}
],
"prompt_number": 58
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"values = np.array([6, 0, 0, 3, 2, 5, 6])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 59
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####np.in1d\n",
"\n",
"- 2\uac1c\uc758 \ubc30\uc5f4\uc744 \uc778\uc790\ub85c \ubc1b\uc544 \uccab \ubc88\uc9f8 \ubc30\uc5f4\uc758 \uac01 \u3147\uc6d0\uc18c\uac00 \ub450 \ubc88\uc9f8 \ubc30\uc5f4\uc758 \uc6d0\uc18c\ub97c \ud3ec\ud568\ud558\ub294\uc9c0\ub97c \ub098\ud0c0\ub0b4\ub294 \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\uc744 \ubc18\ud658"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Test whether each element of a 1-D array is also present in a second array.\n",
"# Returns a boolean array the same length as 'ar1' that is True\n",
"# where an element of `ar1` is in `ar2` and False otherwise.\n",
"# in 1 dictionary?\n",
"np.in1d?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 60
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.in1d(values, [2, 3, 6])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 61,
"text": [
"array([ True, False, False, True, True, False, True], dtype=bool)"
]
}
],
"prompt_number": 61
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### \ubc30\uc5f4 \uc9d1\ud569 \uc5f0\uc0b0\n",
"\n",
"Method | Comment\n",
"--- |----\n",
"unique(x) | \ubc30\uc5f4 x\uc5d0\uc11c \uc911\ubcf5\ub41c \uc6d0\uc18c\ub97c \uc81c\uac70\ud55c \ud6c4 \uc815\ub82c\ud558\uc5ec \ubc18\ud658\ud55c\ub2e4.\n",
"intersect1d(x, y) | \ubc30\uc5f4 x\uc640 y\uc5d0 \uacf5\ud1b5\uc801\uc73c\ub85c \uc874\uc7ac\ud558\ub294 \uc6d0\uc18c\ub97c \uc815\ub82c\ud558\uc5ec \ubc18\ud658\ud55c\ub2e4.\n",
"union1d(x, y) | \ub450 \ubc30\uc5f4\uc758 \ud569\uc9d1\ud569\uc744 \ubc18\ud658\ud55c\ub2e4.\n",
"in1d(x, y) | x\uc758 \uc6d0\uc18c \uc911 y\uc758 \uc6d0\uc18c\ub97c \ud3ec\ud568\ud558\ub294\uc9c0\ub97c \ub098\ud0c0\ub0b4\ub294 \ubd88\ub9ac\uc5b8 \ubc30\uc5f4\uc744 \ubc18\ud658\ud55c\ub2e4.\n",
"setdiff1d(x, y) | x\uc640 y\uc758 \ucc28\uc9d1\ud569\uc744 \ubc18\ud658\ud55c\ub2e4.\n",
"setxor1d(x, y) | \ud55c \ubc30\uc5f4\uc5d0\ub294 \ud3ec\ud568\ub418\uc9c0\ub9cc \ub450 \ubc30\uc5f4 \ubaa8\ub450\uc5d0\ub294 \ud3ec\ud568\ub418\uc9c0 \uc54a\ub294 \uc6d0\uc18c\ub4e4\uc758 \uc9d1\ud569\uc778 \ub300\uce6d\ucc28\uc9d1\ud569\uc744 \ubc18\ud658\ud55c\ub2e4."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"4.4 \ubc30\uc5f4\uc758 \ud30c\uc77c \uc785\u2219\ucd9c\ub825"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- NumPy\ub294 \ub514\uc2a4\ud06c\uc5d0\uc11c \ud14d\uc2a4\ud2b8\ub098 \ubc14\uc774\ub108\ub9ac \ud615\uc2dd\uc758 \ud30c\uc77c\ub85c\ubd80\ud130 \ub370\uc774\ud130\ub97c \ubd88\ub7ec\uc624\uac70\ub098 \uc800\uc7a5 \uac00\ub2a5"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.4.1 \ubc30\uc5f4\uc744 \ubc14\uc774\ub108\ub9ac \ud615\uc2dd\uc73c\ub85c \ub514\uc2a4\ud06c\uc5d0 \uc800\uc7a5\ud558\uae30"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.arange(10)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 62
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# add file extension '.npy'\n",
"np.save('some_array', arr)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 63
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"!ls"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2014\ub144 5\uc6d4 \ub300\uc548\uc5b8\uc5b4 \ucd95\uc81c \uc815\ubaa8 \ud6c4\uae30.ipynb\r\n",
"AMINOCIDS.ipynb\r\n",
"CodeAcademy_Python.ipynb\r\n",
"Crawler_qna.ipynb\r\n",
"Hacker Challenge - Programming.ipynb\r\n",
"Learn to Program(Coursera).ipynb\r\n",
"Module 1_Python Language Essentials.ipynb\r\n",
"Module 2_System Programming.ipynb\r\n",
"Multiprocessing.ipynb\r\n",
"\u001b[1m\u001b[34mNewDirectory\u001b[m\u001b[m\r\n",
"Notebook_\uc790\ub3d9\ud654.ipynb\r\n",
"Part 3 - Plotting with Matplotlib.ipynb\r\n",
"Performance_MNR.xml\r\n",
"Python 3 Object Oriented Programming.ipynb\r\n",
"Requests test.ipynb\r\n",
"Unpythonic Python.ipynb\r\n",
"Untitled0.ipynb\r\n",
"Untitled1.ipynb\r\n",
"Untitled2.ipynb\r\n",
"Untitled3.ipynb\r\n",
"Untitled4.ipynb\r\n",
"Untitled5.ipynb\r\n",
"Untitled6.ipynb\r\n",
"Untitled7.ipynb\r\n",
"array_archive.npz\r\n",
"array_ex.txt\r\n",
"ch00_Feeling.ipynb\r\n",
"ch00_Python for Data Analysis - link.ipynb\r\n",
"ch01_Preliminaries.ipynb\r\n",
"\u001b[1m\u001b[34mch02\u001b[m\u001b[m\r\n",
"ch02_Introduction Examples.ipynb\r\n",
"ch02_w.py\r\n",
"\u001b[1m\u001b[34mch03\u001b[m\u001b[m\r\n",
"ch03_Introduction IPython.ipynb\r\n",
"ch04_Numpy.ipynb\r\n",
"ch05_Pandas.ipynb\r\n",
"\u001b[1m\u001b[34mch06\u001b[m\u001b[m\r\n",
"ch06_Data loading.ipynb\r\n",
"\u001b[1m\u001b[34mch07\u001b[m\u001b[m\r\n",
"ch07_Data loading_again.ipynb\r\n",
"ch07_Data_prepare_fixing_transform_merge.ipynb\r\n",
"\u001b[1m\u001b[34mch08\u001b[m\u001b[m\r\n",
"\u001b[1m\u001b[34mch09\u001b[m\u001b[m\r\n",
"\u001b[1m\u001b[34mch11\u001b[m\u001b[m\r\n",
"\u001b[1m\u001b[34mch13\u001b[m\u001b[m\r\n",
"cover.jpg\r\n",
"data.csv\r\n",
"debugger.csv\r\n",
"ex1.csv\r\n",
"foo.py\r\n",
"foo.py.prof\r\n",
"foo.pyc\r\n",
"ghostdriver.log\r\n",
"\u001b[1m\u001b[34mimages\u001b[m\u001b[m\r\n",
"ipython_log.py\r\n",
"ipython_log.py.001~\r\n",
"ipython_script_test.py\r\n",
"lambda_sorted.ipynb\r\n",
"\u001b[1m\u001b[34mmassspec\u001b[m\u001b[m\r\n",
"mydata.csv\r\n",
"mysql_test.ipynb\r\n",
"plfda_ch07.ipynb\r\n",
"rpy2.ipynb\r\n",
"some_array.npy\r\n",
"spse.txt\r\n",
"spse2.txt\r\n",
"test_filename\r\n",
"text.txt\r\n"
]
}
],
"prompt_number": 64
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.load('some_array.npy')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 65,
"text": [
"array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
]
}
],
"prompt_number": 65
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.savez('array_archive.npz', a=arr, b=arr)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 66
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arch = np.load('array_archive.npz')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 67
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arch['b']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 68,
"text": [
"array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
]
}
],
"prompt_number": 68
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arch['a']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 69,
"text": [
"array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
]
}
],
"prompt_number": 69
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"a = randn(10)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 70
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"a"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 71,
"text": [
"array([ 1.44432567, 0.98120731, 0.11043039, 1.39949054, 0.71862609,\n",
" -1.66603304, 0.32605269, 0.02229856, 0.04036821, -0.53039062])"
]
}
],
"prompt_number": 71
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.4.2 \ud14d\uc2a4\ud2b8 \ud30c\uc77c \ubd88\ub7ec\uc624\uae30\uc640 \uc800\uc7a5\ud558\uae30"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%writefile array_ex.txt\n",
"2.23342715,-0.37376633,-1.05142871\n",
"-0.57247149,-1.35777871,0.28676036\n",
"-0.01042671,-0.0211314,-0.72049352"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Overwriting array_ex.txt\n"
]
}
],
"prompt_number": 72
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"!cat array_ex.txt"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2.23342715,-0.37376633,-1.05142871\r\n",
"-0.57247149,-1.35777871,0.28676036\r\n",
"-0.01042671,-0.0211314,-0.72049352"
]
}
],
"prompt_number": 73
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.loadtxt('array_ex.txt', delimiter=',')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 74
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 75,
"text": [
"array([[ 2.23342715, -0.37376633, -1.05142871],\n",
" [-0.57247149, -1.35777871, 0.28676036],\n",
" [-0.01042671, -0.0211314 , -0.72049352]])"
]
}
],
"prompt_number": 75
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- np.savetxt: np.loadtxt\uc640 \ubc18\ub300\ub85c \ubc30\uc5f4\uc744 \ud30c\uc77c\ub85c \uc800\uc7a5\n",
"- genfromtxt: loadtxt\uc640 \uc720\uc0ac\ud558\uc9c0\ub9cc \uad6c\uc870\ud654\ub41c \ubc30\uc5f4\uacfc \ub204\ub77d\ub41c \ub370\uc774\ud130 \ucc98\ub9ac\ub97c \uc704\ud574 \uc124\uacc4\n",
"\n",
"####\ud30c\uc77c \uc785\u2219\ucd9c\ub825\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9, \ud2b9\ud788 \uc2a4\ud504\ub808\ub4dc\uc2dc\ud2b8 \ud615\uc2dd\uc758 \ub370\uc774\ud130 \uc785\u2219\ucd9c\ub825\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c \uc7a5\uc5d0\uc11c pandas\uc640 DataFrame\uac1d\uccb4\uc640 \ud568\uaed8 \uc0b4\ud3b4\ubcf4\uaca0\ub2e4."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"4.5 \uc120\ud615\ub300\uc218"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- \ud589\ub82c\uc758 \uacf1\uc148, \ubd84\ud560, \ud589\ub82c\uc2dd, \uc815\uc0ac\uac01 \ud589\ub82c \uc218\ud559 \uac19\uc740 \uc120\ud615\ub300\uc218\ub294 \ubc30\uc5f4\uc744 \ub2e4\ub8e8\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc911\uc694\ud55c \ubd80\ubd84\n",
"- MATLAB \uac19\uc740 \ub2e4\ub978 \uc5b8\uc5b4\uc640 \ub2ec\ub9ac 2\uac1c\uc758 2\ucc28\uc6d0 \ubc30\uc5f4\uc744 * \uc5f0\uc0b0\uc790\ub85c \uacf1\ud558\ub294 \uac74 \ud589\ub82c \uacf1\uc148\uc774 \uc544\ub2c8\ub77c \ub300\uc751\ud558\ub294 \uac01\uac01\uc758 \uc6d0\uc18c\uc758 \uacf1\uc744 \uacc4\uc0b0\ud558\ub294 \uac83\n",
"- \ud589\ub82c \uacf1\uc148\uc740 \ubc30\uc5f4 \uba54\uc11c\ub4dc\uc774\uc790 numpy \ub124\uc784\uc2a4\ud398\uc774\uc2a4 \uc548\uc5d0 \uc788\ub294 \ud568\uc218\uc778 dot \ud568\uc218\ub97c \uc0ac\uc6a9\ud574\uc11c \uacc4\uc0b0"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x = np.array([[1., 2., 3.], [4., 5., 6.]])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 78
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y = np.array([[6., 23.], [-1, 7], [8, 9]])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 79
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 80,
"text": [
"array([[ 1., 2., 3.],\n",
" [ 4., 5., 6.]])"
]
}
],
"prompt_number": 80
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 93,
"text": [
"(2, 3)"
]
}
],
"prompt_number": 93
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Understand. 2 * 3 dot 3 * 1 -> 2 * 1\n",
"np.ones(3).shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 96,
"text": [
"(3,)"
]
}
],
"prompt_number": 96
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 81,
"text": [
"array([[ 6., 23.],\n",
" [ -1., 7.],\n",
" [ 8., 9.]])"
]
}
],
"prompt_number": 81
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x.dot(y) # np.dot(x, y) is same"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 82,
"text": [
"array([[ 28., 64.],\n",
" [ 67., 181.]])"
]
}
],
"prompt_number": 82
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"1*6 + 2*-1 + 3*8\n",
"#6 + -2 + 24"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 83,
"text": [
"28"
]
}
],
"prompt_number": 83
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.dot(x, np.ones(3))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 84,
"text": [
"array([ 6., 15.])"
]
}
],
"prompt_number": 84
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.ones(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 85,
"text": [
"array([ 1., 1., 1.])"
]
}
],
"prompt_number": 85
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"1*1 + 2*1 + 3*1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 86,
"text": [
"6"
]
}
],
"prompt_number": 86
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- numpy.linalg\ub294 \ud589\ub82c\uc758 \ubd84\ud560\uacfc \uc5ed\ud589\ub82c, \ud589\ub82c\uc2dd \uac19\uc740 \uac83 \ud3ec\ud568\n",
"- \uc774\ub294 MATLAB, R \uac19\uc740 \uc5b8\uc5b4\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud45c\uc900 \ud3ec\ud2b8\ub780 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc778 BLAS, LAPACK \ub610\ub294 Intel MKL(NumPy \ube4c\ub4dc\uc5d0 \ub530\ub77c \ub2e4\ub974\ub2e4)\ub97c \uc0ac\uc6a9\ud574\uc11c \uad6c\ud604"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from numpy.linalg import inv, qr"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 84
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Core Linear Algebra Tools\n",
"numpy.linalg?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 85
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Inverse of a square matrix\n",
"inv?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 86
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# QR decomposition of a matrix\n",
"qr?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 87
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"X = randn(5, 5)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 88
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mat = X.T.dot(X)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 89
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mat"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 90,
"text": [
"array([[ 2.87598785, -3.21343638, -1.70180817, -0.49037638,\n",
" -0.08239518],\n",
" [ -3.21343638, 10.70211909, -0.02810709, 0.32085212,\n",
" 5.27753009],\n",
" [ -1.70180817, -0.02810709, 3.64969751, 0.8101601 ,\n",
" 3.00981921],\n",
" [ -0.49037638, 0.32085212, 0.8101601 , 1.55438619, 2.5745824 ],\n",
" [ -0.08239518, 5.27753009, 3.00981921, 2.5745824 ,\n",
" 15.12401822]])"
]
}
],
"prompt_number": 90
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"inv(mat)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 91,
"text": [
"array([[ 605.75721027, 286.68894835, 406.87869992, 298.32436502,\n",
" -228.49681949],\n",
" [ 286.68894835, 135.80319411, 192.6025786 , 141.24158107,\n",
" -108.20012647],\n",
" [ 406.87869992, 192.6025786 , 273.64302113, 200.30686605,\n",
" -153.54805702],\n",
" [ 298.32436502, 141.24158107, 200.30686605, 147.86204307,\n",
" -112.69469828],\n",
" [-228.49681949, -108.20012647, -153.54805702, -112.69469828,\n",
" 86.31939245]])"
]
}
],
"prompt_number": 91
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# \uc6d0\ub798 \ud589\ub82c * \uc5ed\ud589\ub82c = \ub2e8\uc704 \ud589\ub82c\n",
"# \uc120\ud615\ub300\uc218\uc5d0 \ub300\ud55c \uae30\ubcf8\uc801\uc778 \uc9c0\uc2dd\uc774 \uc788\uc5b4\uc57c \uc774\ud574\uac00 \ub41c\ub2e4.\n",
"mat.dot(inv(mat))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 92,
"text": [
"array([[ 1.00000000e+00, -1.24344979e-14, -1.86517468e-13,\n",
" -5.68434189e-14, 1.13686838e-13],\n",
" [ 0.00000000e+00, 1.00000000e+00, -1.13686838e-13,\n",
" 1.13686838e-13, 0.00000000e+00],\n",
" [ -2.27373675e-13, 0.00000000e+00, 1.00000000e+00,\n",
" 5.68434189e-14, 2.84217094e-14],\n",
" [ 0.00000000e+00, 5.68434189e-14, 5.68434189e-14,\n",
" 1.00000000e+00, -2.84217094e-14],\n",
" [ 4.54747351e-13, 6.82121026e-13, 0.00000000e+00,\n",
" 2.27373675e-13, 1.00000000e+00]])"
]
}
],
"prompt_number": 92
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"q, r = qr(mat)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 93
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"r"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 94,
"text": [
"array([[ 4.66271257e+00, -9.47447021e+00, -2.50078085e+00,\n",
" -1.02825530e+00, -5.32453372e+00],\n",
" [ 0.00000000e+00, 7.94052899e+00, -3.12819979e-01,\n",
" 1.17508664e+00, 1.09384797e+01],\n",
" [ 0.00000000e+00, 0.00000000e+00, 4.42502461e+00,\n",
" 2.39248980e+00, 1.10032116e+01],\n",
" [ 0.00000000e+00, 0.00000000e+00, -0.00000000e+00,\n",
" 1.37194037e+00, 1.79188567e+00],\n",
" [ 0.00000000e+00, -0.00000000e+00, -0.00000000e+00,\n",
" 0.00000000e+00, 3.04789951e-03]])"
]
}
],
"prompt_number": 94
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"q"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 95,
"text": [
"array([[ 0.61680573, 0.33127153, -0.01258385, -0.15693731, -0.69643534],\n",
" [-0.68917745, 0.52547227, -0.35868968, -0.10722938, -0.32978311],\n",
" [-0.36498243, -0.43902897, 0.58748134, -0.33148748, -0.46799905],\n",
" [-0.10516976, -0.08507943, 0.11763528, 0.92189088, -0.34348212],\n",
" [-0.01767108, 0.64354729, 0.71568916, 0.06407652, 0.26309283]])"
]
}
],
"prompt_number": 95
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[QR \ubd84\ud574 - wiki](http://ko.wikipedia.org/wiki/QR_%EB%B6%84%ED%95%B4)"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"4.6 \ub09c\uc218 \uc0dd\uc131"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####numpy \uc7a5\uc810\n",
"\n",
"- numpy.random \ubaa8\ub4c8\uc740 \ud30c\uc774\uc36c \ub0b4\uc7a5 random \ud568\uc218\ub97c \ubcf4\uac15\ud558\uc5ec \ub2e4\uc591\ud55c \uc885\ub958\uc758 \ud655\ub960\ubd84\ud3ec\ub85c\ubd80\ud130 \ud6a8\uacfc\uc801\uc73c\ub85c \ud45c\ubcf8 \uac12\uc744 \uc0dd\uc131\ud558\ub294 \ub370 \uc8fc\ub85c \uc0ac\uc6a9\n",
"- \uc608\ub97c \ub4e4\uc5b4 normal\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud45c\uc900\uc815\uaddc\ubd84\ud3ec\ub85c\ubd80\ud130 4 \\* 4 \ud06c\uae30\uc758 \ud45c\ubcf8 \uc0dd\uc131"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"samples = np.random.normal(size=(4, 4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 96
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"samples"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 97,
"text": [
"array([[ -7.07105991e-01, 3.99861073e-01, -9.98456073e-02,\n",
" 3.17546390e-01],\n",
" [ -1.36656129e+00, -4.78290944e-01, -3.38881567e-01,\n",
" -1.00527089e+00],\n",
" [ -1.34366135e-03, 3.64203731e-01, 2.93014657e-01,\n",
" 1.13504417e+00],\n",
" [ -1.02982622e+00, -4.03534516e-01, -6.03830553e-01,\n",
" -3.05782586e-01]])"
]
}
],
"prompt_number": 97
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####\ud30c\uc774\uc36c \ub0b4\uc7a5 random \ub2e8\uc810\n",
"\n",
"- \ud30c\uc774\uc36c \ub0b4\uc7a5 random \ubaa8\ub4c8\uc740 \ud55c \ubc88\uc5d0 \ud558\ub098\uc758 \uac12\ub9cc \uc0dd\uc131\n",
"- \ud070 \ud45c\ubcf8\uc744 \uc0dd\uc131\ud560 \ub54c \ud6e8\uc52c \ube60\ub984"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from random import normalvariate"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 98
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"N = 1000000"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 99
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%timeit samples = [normalvariate(0, 1) for i in xrange(N)]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1 loops, best of 3: 1.22 s per loop\n"
]
}
],
"prompt_number": 101
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%timeit np.random.normal(size=N)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"10 loops, best of 3: 38.1 ms per loop\n"
]
}
],
"prompt_number": 102
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### [Random sampling (numpy.random)](http://docs.scipy.org/doc/numpy/reference/routines.random.html)"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"4.7 \uacc4\ub2e8 \uc624\ub974\ub0b4\ub9ac\uae30 \uc608\uc81c"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### \uc21c\uc218 \ud30c\uc774\uc36c \ubc84\uc804"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import random\n",
"position = 0\n",
"walk = [position]\n",
"steps = 1000\n",
"for i in xrange(steps):\n",
" step = 1 if random.randint(0, 1) else -1\n",
" position += step\n",
" walk.append(position)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 123
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from matplotlib.pyplot import plot as plt"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 124
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt(walk)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 125,
"text": [
"[]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nF/zkyxDR1QAAAABJRU5ErkJggg==\n",
"text": [
""
]
}
],
"prompt_number": 125
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walk"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 126,
"text": [
"[0,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 3,\n",
" 4,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -13,\n",
" -14,\n",
" -13,\n",
" -14,\n",
" -15,\n",
" -14,\n",
" -13,\n",
" -14,\n",
" -13,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -13,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -13,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -18,\n",
" -19,\n",
" -18,\n",
" -19,\n",
" -20,\n",
" -19,\n",
" -20,\n",
" -21,\n",
" -22,\n",
" -21,\n",
" -20,\n",
" -19,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -19,\n",
" -20,\n",
" -21,\n",
" -22,\n",
" -23,\n",
" -22,\n",
" -21,\n",
" -20,\n",
" -19,\n",
" -20,\n",
" -21,\n",
" -22,\n",
" -23,\n",
" -24,\n",
" -25,\n",
" -26,\n",
" -25,\n",
" -26,\n",
" -27,\n",
" -26,\n",
" -27,\n",
" -26,\n",
" -25,\n",
" -24,\n",
" -25,\n",
" -26,\n",
" -27,\n",
" -28,\n",
" -27,\n",
" -26,\n",
" -27,\n",
" -28,\n",
" -29,\n",
" -30,\n",
" -29,\n",
" -28,\n",
" -27,\n",
" -26,\n",
" -27,\n",
" -26,\n",
" -25,\n",
" -24,\n",
" -23,\n",
" -22,\n",
" -21,\n",
" -20,\n",
" -21,\n",
" -22,\n",
" -23,\n",
" -24,\n",
" -23,\n",
" -24,\n",
" -23,\n",
" -22,\n",
" -21,\n",
" -20,\n",
" -19,\n",
" -18,\n",
" -19,\n",
" -20,\n",
" -19,\n",
" -18,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -13,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -19,\n",
" -20,\n",
" -21,\n",
" -20,\n",
" -21,\n",
" -22,\n",
" -21,\n",
" -20,\n",
" -19,\n",
" -18,\n",
" -19,\n",
" -20,\n",
" -19,\n",
" -18,\n",
" -19,\n",
" -18,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -13,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 6,\n",
" 5,\n",
" 4,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 4,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -13,\n",
" -12,\n",
" -13,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -17,\n",
" -18,\n",
" -17,\n",
" -18,\n",
" -19,\n",
" -20,\n",
" -19,\n",
" -20,\n",
" -19,\n",
" -18,\n",
" -19,\n",
" -18,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -13,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -16,\n",
" -17,\n",
" -16,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -14,\n",
" -15,\n",
" -14,\n",
" -13,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -11,\n",
" -10,\n",
" -11,\n",
" -12,\n",
" -11,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -8,\n",
" -9,\n",
" -10,\n",
" -9,\n",
" -8,\n",
" -7,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 3,\n",
" 2,\n",
" 1,\n",
" 2,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -2,\n",
" -1,\n",
" 0,\n",
" -1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" 1,\n",
" 0,\n",
" -1,\n",
" -2,\n",
" -1,\n",
" -2,\n",
" -3,\n",
" -4,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" -6,\n",
" -7,\n",
" -6,\n",
" -5,\n",
" -4,\n",
" -5,\n",
" ...]"
]
}
],
"prompt_number": 126
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"random.randint(0, 1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 127,
"text": [
"0"
]
}
],
"prompt_number": 127
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nsteps = 1000"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 128
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"draws = np.random.randint(0, 2, size=nsteps)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 129
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"draws"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 130,
"text": [
"array([0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1,\n",
" 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0,\n",
" 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1,\n",
" 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0,\n",
" 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1,\n",
" 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0,\n",
" 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1,\n",
" 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0,\n",
" 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1,\n",
" 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1,\n",
" 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1,\n",
" 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,\n",
" 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,\n",
" 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0,\n",
" 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1,\n",
" 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1,\n",
" 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0,\n",
" 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0,\n",
" 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1,\n",
" 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0,\n",
" 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1,\n",
" 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1,\n",
" 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0,\n",
" 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1,\n",
" 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0,\n",
" 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1,\n",
" 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0,\n",
" 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0,\n",
" 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,\n",
" 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0,\n",
" 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0,\n",
" 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0,\n",
" 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0,\n",
" 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0,\n",
" 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0,\n",
" 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0,\n",
" 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1,\n",
" 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0,\n",
" 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,\n",
" 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n",
" 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0,\n",
" 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1,\n",
" 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1,\n",
" 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0])"
]
}
],
"prompt_number": 130
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"steps = np.where(draws > 0, 1, -1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 131
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"steps"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 132,
"text": [
"array([-1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1,\n",
" 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1,\n",
" 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1,\n",
" -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1,\n",
" 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1,\n",
" 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1,\n",
" -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1,\n",
" 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1,\n",
" -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1,\n",
" -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1,\n",
" 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1,\n",
" 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1,\n",
" -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1,\n",
" -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1,\n",
" -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1,\n",
" -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1,\n",
" 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1,\n",
" -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1,\n",
" -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1,\n",
" 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1,\n",
" 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1,\n",
" -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1,\n",
" 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1,\n",
" -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1,\n",
" 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1,\n",
" 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1,\n",
" 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1,\n",
" -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1,\n",
" 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1,\n",
" 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1,\n",
" 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1,\n",
" 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1,\n",
" -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1,\n",
" 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1,\n",
" 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1,\n",
" 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1,\n",
" 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1,\n",
" 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1,\n",
" -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1,\n",
" -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1,\n",
" -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1,\n",
" -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1,\n",
" 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1,\n",
" -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1,\n",
" -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1,\n",
" -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1,\n",
" 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1,\n",
" -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1,\n",
" -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1,\n",
" -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1,\n",
" 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1,\n",
" 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1,\n",
" 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1,\n",
" 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1,\n",
" -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1,\n",
" 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1,\n",
" 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1,\n",
" 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1,\n",
" -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1])"
]
}
],
"prompt_number": 132
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walk = steps.cumsum()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 133
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walk"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 134,
"text": [
"array([ -1, -2, -3, -2, -3, -4, -5, -6, -7, -6, -7, -8, -9,\n",
" -10, -11, -12, -11, -10, -9, -8, -9, -10, -9, -8, -9, -10,\n",
" -11, -12, -11, -12, -13, -14, -15, -14, -13, -12, -11, -10, -9,\n",
" -10, -11, -10, -9, -10, -11, -12, -11, -10, -11, -12, -11, -12,\n",
" -11, -10, -11, -10, -9, -8, -7, -6, -5, -6, -5, -4, -5,\n",
" -6, -7, -8, -7, -6, -7, -6, -5, -4, -3, -4, -5, -4,\n",
" -3, -4, -3, -4, -5, -4, -5, -4, -3, -4, -3, -2, -3,\n",
" -4, -3, -2, -1, -2, -1, 0, 1, 0, -1, -2, -3, -4,\n",
" -5, -6, -5, -6, -5, -4, -5, -6, -5, -6, -5, -6, -7,\n",
" -6, -5, -4, -5, -4, -5, -6, -7, -8, -7, -6, -5, -6,\n",
" -5, -6, -7, -6, -5, -6, -7, -8, -9, -10, -9, -10, -9,\n",
" -8, -9, -10, -9, -10, -9, -8, -9, -8, -9, -10, -11, -10,\n",
" -11, -10, -11, -12, -11, -12, -11, -10, -9, -8, -7, -8, -9,\n",
" -10, -9, -8, -9, -8, -9, -10, -9, -8, -7, -8, -7, -6,\n",
" -7, -8, -7, -6, -7, -6, -7, -8, -9, -8, -9, -10, -11,\n",
" -10, -9, -8, -7, -6, -7, -8, -9, -10, -11, -10, -9, -10,\n",
" -9, -8, -7, -6, -5, -6, -5, -6, -5, -4, -5, -6, -5,\n",
" -6, -5, -4, -5, -6, -7, -8, -7, -6, -5, -6, -5, -4,\n",
" -3, -4, -3, -4, -5, -6, -5, -6, -7, -8, -9, -8, -7,\n",
" -6, -7, -8, -7, -8, -7, -6, -7, -8, -9, -10, -11, -10,\n",
" -9, -10, -11, -10, -11, -12, -13, -12, -13, -14, -15, -16, -15,\n",
" -16, -15, -16, -15, -14, -15, -16, -15, -16, -15, -16, -15, -16,\n",
" -17, -18, -19, -20, -19, -18, -17, -16, -15, -14, -13, -14, -15,\n",
" -14, -13, -12, -11, -10, -9, -8, -9, -10, -11, -12, -11, -12,\n",
" -11, -12, -13, -12, -11, -12, -11, -12, -11, -12, -13, -12, -11,\n",
" -10, -11, -10, -9, -8, -9, -8, -9, -10, -9, -8, -7, -6,\n",
" -5, -6, -5, -4, -5, -4, -3, -2, -1, -2, -1, -2, -1,\n",
" 0, 1, 0, -1, -2, -1, -2, -3, -4, -3, -2, -3, -4,\n",
" -5, -4, -5, -4, -5, -4, -5, -4, -5, -6, -5, -6, -7,\n",
" -6, -7, -6, -7, -8, -7, -8, -9, -8, -7, -8, -7, -8,\n",
" -9, -10, -9, -8, -7, -8, -7, -6, -7, -6, -7, -8, -9,\n",
" -8, -9, -8, -9, -8, -7, -6, -7, -6, -5, -6, -5, -6,\n",
" -5, -6, -7, -8, -9, -8, -7, -6, -5, -4, -3, -2, -3,\n",
" -4, -5, -4, -5, -6, -5, -6, -5, -4, -3, -2, -3, -2,\n",
" -1, -2, -1, 0, 1, 2, 3, 2, 1, 2, 1, 2, 3,\n",
" 2, 3, 2, 3, 2, 1, 0, 1, 0, -1, -2, -3, -4,\n",
" -3, -4, -3, -4, -5, -4, -3, -2, -1, -2, -1, 0, -1,\n",
" 0, 1, 2, 3, 2, 1, 2, 3, 2, 3, 4, 5, 6,\n",
" 5, 6, 7, 6, 7, 6, 7, 6, 7, 8, 9, 10, 11,\n",
" 10, 9, 10, 11, 10, 9, 10, 9, 10, 11, 12, 13, 12,\n",
" 13, 14, 13, 14, 15, 14, 13, 14, 13, 12, 11, 10, 9,\n",
" 10, 11, 10, 11, 12, 13, 14, 15, 16, 17, 16, 15, 16,\n",
" 15, 14, 13, 12, 11, 12, 11, 12, 11, 12, 11, 10, 11,\n",
" 10, 11, 12, 11, 12, 13, 12, 13, 14, 13, 12, 13, 14,\n",
" 13, 14, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13,\n",
" 14, 15, 16, 17, 18, 17, 18, 19, 20, 19, 20, 19, 20,\n",
" 19, 18, 19, 18, 19, 18, 17, 16, 17, 18, 19, 18, 17,\n",
" 18, 19, 20, 19, 18, 19, 20, 19, 20, 19, 18, 17, 18,\n",
" 19, 20, 19, 20, 21, 22, 23, 24, 23, 22, 23, 22, 21,\n",
" 22, 23, 24, 23, 24, 23, 22, 21, 22, 21, 20, 19, 20,\n",
" 21, 22, 23, 22, 21, 22, 23, 24, 25, 26, 27, 28, 27,\n",
" 26, 25, 24, 25, 24, 23, 22, 21, 22, 21, 22, 21, 22,\n",
" 23, 24, 23, 22, 21, 22, 21, 20, 21, 22, 23, 24, 25,\n",
" 24, 23, 24, 23, 24, 25, 26, 27, 26, 25, 24, 25, 26,\n",
" 27, 26, 25, 26, 27, 28, 27, 28, 27, 28, 27, 28, 29,\n",
" 30, 31, 30, 29, 28, 29, 30, 31, 32, 33, 34, 33, 34,\n",
" 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 31, 32, 31,\n",
" 32, 31, 30, 29, 30, 31, 30, 29, 28, 27, 28, 27, 28,\n",
" 27, 28, 29, 30, 29, 28, 27, 28, 29, 30, 31, 30, 29,\n",
" 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 31, 30,\n",
" 29, 28, 29, 28, 29, 30, 31, 32, 31, 32, 33, 32, 33,\n",
" 32, 33, 32, 31, 32, 31, 30, 29, 30, 31, 30, 29, 30,\n",
" 29, 28, 29, 28, 27, 26, 27, 28, 27, 26, 25, 26, 27,\n",
" 28, 29, 30, 29, 28, 29, 28, 27, 26, 27, 26, 27, 28,\n",
" 27, 26, 27, 28, 27, 26, 27, 28, 29, 28, 27, 28, 29,\n",
" 28, 29, 28, 27, 28, 29, 28, 29, 28, 27, 26, 27, 28,\n",
" 29, 28, 29, 28, 29, 30, 29, 28, 27, 28, 29, 30, 29,\n",
" 28, 29, 28, 29, 30, 29, 28, 29, 28, 27, 26, 27, 26,\n",
" 27, 26, 27, 26, 25, 24, 25, 24, 23, 22, 21, 22, 23,\n",
" 22, 23, 22, 21, 22, 23, 24, 25, 26, 25, 26, 25, 24,\n",
" 25, 24, 23, 22, 23, 22, 21, 20, 19, 18, 17, 18, 17,\n",
" 18, 19, 20, 21, 22, 21, 20, 21, 22, 21, 22, 23, 24,\n",
" 23, 22, 21, 20, 21, 20, 19, 18, 17, 18, 17, 18, 19,\n",
" 20, 19, 20, 21, 22, 21, 20, 19, 18, 19, 18, 17, 16,\n",
" 15, 16, 15, 16, 17, 16, 17, 18, 17, 18, 19, 20, 19,\n",
" 18, 19, 18, 17, 18, 19, 18, 19, 18, 19, 20, 19, 20,\n",
" 21, 22, 23, 24, 25, 26, 25, 26, 25, 24, 23, 22])"
]
}
],
"prompt_number": 134
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walk.min(), walk.max()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 135,
"text": [
"(-20, 34)"
]
}
],
"prompt_number": 135
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"(np.abs(walk) >= 10).argmax()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 172,
"text": [
"13"
]
}
],
"prompt_number": 172
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walk.ndim"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 176,
"text": [
"1"
]
}
],
"prompt_number": 176
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walk.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 177,
"text": [
"(1000,)"
]
}
],
"prompt_number": 177
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Error! \ub2f9\uc5f0\ud788 axis\uac00 1\uac1c \ubc16\uc5d0 \uc5c6\ub294 \ubc30\uc5f4\uc774\ub2c8\uae4c\n",
"(np.abs(walk) >= 10).argmax(1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "axis(=1) out of bounds",
"output_type": "pyerr",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Error! \ub2f9\uc5f0\ud788 axis\uac00 1\uac1c \ubc16\uc5d0 \uc5c6\ub294 \ubc30\uc5f4\uc774\ub2c8\uae4c\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwalk\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margmax\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;31mValueError\u001b[0m: axis(=1) out of bounds"
]
}
],
"prompt_number": 175
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"4.7.1 \ud55c \ubc88\uc5d0 \uacc4\ub2e8 \uc624\ub974\ub0b4\ub9ac\uae30 \uc2dc\ubbac\ub808\uc774\uc158\ud558\uae30"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nwalks = 5000"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 137
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nsteps = 1000"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 138
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# randint\ub294 0\ubd80\ud130 2\uae4c\uc9c0(\ud3ec\ud568 \uc548\ub428)\uc758 \uc22b\uc790\ub97c \ub79c\ub364\uc73c\ub85c \uc0dd\uc131. \uc989 0\uacfc 1\ub9cc \uc0dd\uc131\n",
"# size\uc5d0 \ub118\uae30\ub294 \uac83\uc740 \ud589, \ub82c\uc744 \ud29c\ud50c \ud615\ud0dc\ub85c \ub118\uae40\n",
"draws = np.random.randint(0, 2, size=(nwalks, nsteps))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 168
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.random.randint(0, 2, size=(10,3))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 167,
"text": [
"array([[0, 1, 1],\n",
" [0, 1, 0],\n",
" [1, 1, 0],\n",
" [0, 0, 0],\n",
" [0, 1, 0],\n",
" [0, 0, 1],\n",
" [0, 0, 1],\n",
" [0, 0, 0],\n",
" [1, 0, 1],\n",
" [1, 1, 0]])"
]
}
],
"prompt_number": 167
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# size\uc5d0 \uc778\uc790 1\uac1c\ub9cc \ub118\uc5b4\uac08 \uc2dc \ud589\uc740 1\uac1c\ub85c \uace0\uc815 \uc9c0\uc815\ub418\uace0 1\uac1c \uc778\uc790\uac12\uc740 \uceec\ub7fc\uac12\uc73c\ub85c \uc124\uc815 \ub428.\n",
"np.random.randint(0, 2, size=5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 171,
"text": [
"array([1, 1, 0, 0, 1])"
]
}
],
"prompt_number": 171
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"draws.ndim"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 157,
"text": [
"2"
]
}
],
"prompt_number": 157
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"draws.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 158,
"text": [
"(5000, 1000)"
]
}
],
"prompt_number": 158
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"steps = np.where(draws > 0, 1, -1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 140
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walks = steps.cumsum(1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 141
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walks"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 142,
"text": [
"array([[ -1, 0, -1, ..., 20, 19, 18],\n",
" [ -1, 0, 1, ..., -14, -13, -14],\n",
" [ 1, 2, 1, ..., 54, 55, 54],\n",
" ..., \n",
" [ -1, 0, -1, ..., -32, -31, -30],\n",
" [ -1, -2, -3, ..., 12, 11, 10],\n",
" [ -1, -2, -3, ..., -62, -61, -62]])"
]
}
],
"prompt_number": 142
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walks.max(), walks.min()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 143,
"text": [
"(122, -122)"
]
}
],
"prompt_number": 143
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hits30 = (np.abs(walks) >= 30).any(1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 144
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hits30"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 145,
"text": [
"array([False, True, True, ..., True, True, True], dtype=bool)"
]
}
],
"prompt_number": 145
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(hits30)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 146,
"text": [
"5000"
]
}
],
"prompt_number": 146
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hits30.sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 147,
"text": [
"3371"
]
}
],
"prompt_number": 147
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"crossing_times = (np.abs(walks[hits30]) >= 30).argmax(1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 148
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"crossing_times.mean()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 149,
"text": [
"507.19875407890834"
]
}
],
"prompt_number": 149
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"steps = np.random.normal(loc=0, scale=0.25, size=(nwalks, nsteps))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 150
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"steps"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 151,
"text": [
"array([[ 0.08726702, 0.44660757, -0.20851034, ..., -0.32885954,\n",
" -0.10377829, -0.55204768],\n",
" [ 0.28219952, -0.15124127, -0.26097055, ..., 0.21983047,\n",
" -0.01899429, 0.12845647],\n",
" [ 0.10835411, 0.16839816, -0.0588874 , ..., -0.0136134 ,\n",
" 0.31643727, 0.09701192],\n",
" ..., \n",
" [-0.08377433, -0.4545433 , -0.04472277, ..., -0.00461127,\n",
" -0.03111517, 0.1789901 ],\n",
" [ 0.06285865, -0.19800213, -0.28502572, ..., -0.20323394,\n",
" 0.13771058, -0.11289319],\n",
" [ 0.16258237, 0.0869184 , 0.29934197, ..., -0.10236161,\n",
" -0.11827899, 0.00986353]])"
]
}
],
"prompt_number": 151
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walks"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 152,
"text": [
"array([[ -1, 0, -1, ..., 20, 19, 18],\n",
" [ -1, 0, 1, ..., -14, -13, -14],\n",
" [ 1, 2, 1, ..., 54, 55, 54],\n",
" ..., \n",
" [ -1, 0, -1, ..., -32, -31, -30],\n",
" [ -1, -2, -3, ..., 12, 11, 10],\n",
" [ -1, -2, -3, ..., -62, -61, -62]])"
]
}
],
"prompt_number": 152
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walks.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 155,
"text": [
"(5000, 1000)"
]
}
],
"prompt_number": 155
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"walks.ndim"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 156,
"text": [
"2"
]
}
],
"prompt_number": 156
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.abs(walks)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 153,
"text": [
"array([[ 1, 0, 1, ..., 20, 19, 18],\n",
" [ 1, 0, 1, ..., 14, 13, 14],\n",
" [ 1, 2, 1, ..., 54, 55, 54],\n",
" ..., \n",
" [ 1, 0, 1, ..., 32, 31, 30],\n",
" [ 1, 2, 3, ..., 12, 11, 10],\n",
" [ 1, 2, 3, ..., 62, 61, 62]])"
]
}
],
"prompt_number": 153
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## [About my IPython in github](https://github.com/re4lfl0w/ipython)"
]
}
],
"metadata": {}
}
]
}