diff --git a/slideshow.ipynb b/slideshow.ipynb index 961a2270cdc58a64172dc1f64d64e2f743d27741..53bd2607ba2dccdfd5e889a1330c60067046abb3 100644 --- a/slideshow.ipynb +++ b/slideshow.ipynb @@ -23,15 +23,17 @@ "source": [ "# Why NumPy?\n", "\n", - "Lists are cool, but not for arithmetic." + "Lists are cool, but not for large scientific data.\n", + "\n", + "Python builtin container types like lists, tuples, dicts, and sets are very flexible. However, these types don't store things efficiently when it comes to many elements. Everything in python (even integers) are complete python objects. They take up much more memory and are harder to use efficiently than their C-level counterparts. Not only that, but it isn't easy to perform basic arithmetic on the numbers in these containers." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 1, "metadata": { "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [ @@ -41,7 +43,7 @@ "[1, 2, 3]" ] }, - "execution_count": 4, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -53,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": { "slideshow": { "slide_type": "fragment" @@ -66,7 +68,7 @@ "[6, 7, 8]" ] }, - "execution_count": 6, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -93,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -102,7 +104,7 @@ "array([6, 7, 8])" ] }, - "execution_count": 9, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -126,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "metadata": { "slideshow": { "slide_type": "fragment" @@ -139,19 +141,19 @@ "(10, 5)" ] }, - "execution_count": 12, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_arr = np.zeros((10, 5))\n", - "my_arr.shape" + "my_arr.shape # 10 rows, 5 columns" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 5, "metadata": { "slideshow": { "slide_type": "fragment" @@ -164,7 +166,7 @@ "2" ] }, - "execution_count": 13, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -175,7 +177,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 6, "metadata": { "slideshow": { "slide_type": "fragment" @@ -188,7 +190,7 @@ "dtype('float64')" ] }, - "execution_count": 16, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -199,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 7, "metadata": { "slideshow": { "slide_type": "fragment" @@ -212,18 +214,18 @@ "50" ] }, - "execution_count": 14, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "my_arr.size" + "my_arr.size # number of elements" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 8, "metadata": { "slideshow": { "slide_type": "fragment" @@ -236,18 +238,18 @@ "400" ] }, - "execution_count": 15, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "my_arr.nbytes" + "my_arr.nbytes # total number of bytes for all data" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 9, "metadata": { "slideshow": { "slide_type": "subslide" @@ -264,18 +266,18 @@ " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])" ] }, - "execution_count": 17, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "my_arr.T" + "my_arr.T # transpose" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -284,7 +286,7 @@ "(5, 10)" ] }, - "execution_count": 18, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -308,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 11, "metadata": { "slideshow": { "slide_type": "fragment" @@ -321,7 +323,7 @@ "array([1, 2, 3])" ] }, - "execution_count": 19, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -332,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 12, "metadata": { "slideshow": { "slide_type": "fragment" @@ -345,7 +347,7 @@ "array([1.2, 2.2, 3.2])" ] }, - "execution_count": 113, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -356,7 +358,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 13, "metadata": { "slideshow": { "slide_type": "fragment" @@ -369,7 +371,7 @@ "array([1., 2., 3.], dtype=float32)" ] }, - "execution_count": 115, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -380,7 +382,7 @@ }, { "cell_type": "code", - "execution_count": 165, + "execution_count": 14, "metadata": { "slideshow": { "slide_type": "fragment" @@ -393,7 +395,7 @@ "array([ True, False, True, True, True, True])" ] }, - "execution_count": 165, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -404,7 +406,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 15, "metadata": { "slideshow": { "slide_type": "subslide" @@ -418,7 +420,7 @@ " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])" ] }, - "execution_count": 23, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -429,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 16, "metadata": { "slideshow": { "slide_type": "fragment" @@ -443,7 +445,7 @@ " [1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])" ] }, - "execution_count": 24, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -454,7 +456,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 17, "metadata": { "slideshow": { "slide_type": "fragment" @@ -468,7 +470,7 @@ " [1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])" ] }, - "execution_count": 27, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -479,7 +481,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 18, "metadata": { "slideshow": { "slide_type": "subslide" @@ -493,7 +495,7 @@ " [2.35, 2.35, 2.35, 2.35, 2.35, 2.35, 2.35, 2.35, 2.35, 2.35]])" ] }, - "execution_count": 33, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -504,7 +506,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 19, "metadata": { "slideshow": { "slide_type": "fragment" @@ -518,7 +520,7 @@ " [nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]])" ] }, - "execution_count": 34, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -529,7 +531,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 20, "metadata": { "slideshow": { "slide_type": "subslide" @@ -542,7 +544,7 @@ "(10, 5)" ] }, - "execution_count": 64, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -553,7 +555,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 21, "metadata": { "slideshow": { "slide_type": "fragment" @@ -575,7 +577,7 @@ " [1., 1., 1., 1., 1.]])" ] }, - "execution_count": 65, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -586,7 +588,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 22, "metadata": { "slideshow": { "slide_type": "subslide" @@ -603,7 +605,7 @@ " [0., 0., 0., 0., 1.]])" ] }, - "execution_count": 31, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -614,7 +616,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 23, "metadata": { "slideshow": { "slide_type": "fragment" @@ -631,7 +633,7 @@ " [0., 0., 0., 0., 0., 1., 0., 0., 0., 0.]])" ] }, - "execution_count": 32, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -642,7 +644,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 24, "metadata": { "slideshow": { "slide_type": "subslide" @@ -655,7 +657,7 @@ "array([0, 1, 2, 3, 4])" ] }, - "execution_count": 36, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -666,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 25, "metadata": { "slideshow": { "slide_type": "fragment" @@ -679,7 +681,7 @@ "array([0., 1., 2., 3., 4.])" ] }, - "execution_count": 40, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -690,7 +692,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 26, "metadata": { "slideshow": { "slide_type": "fragment" @@ -703,7 +705,7 @@ "array([5., 6., 7.])" ] }, - "execution_count": 41, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -714,7 +716,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 27, "metadata": { "slideshow": { "slide_type": "fragment" @@ -727,7 +729,7 @@ "array([ 5. , 10.2, 15.4, 20.6])" ] }, - "execution_count": 43, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -738,7 +740,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 28, "metadata": { "slideshow": { "slide_type": "fragment" @@ -751,7 +753,7 @@ "array([], dtype=float64)" ] }, - "execution_count": 42, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -762,7 +764,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 29, "metadata": { "slideshow": { "slide_type": "fragment" @@ -775,7 +777,7 @@ "array([8. , 6.8, 5.6])" ] }, - "execution_count": 66, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -786,7 +788,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 30, "metadata": { "slideshow": { "slide_type": "subslide" @@ -803,7 +805,7 @@ " 14.16666667, 14.625 , 15.08333333, 15.54166667, 16. ])" ] }, - "execution_count": 47, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -814,7 +816,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 31, "metadata": { "slideshow": { "slide_type": "fragment" @@ -829,7 +831,7 @@ " 12.92, 13.36, 13.8 , 14.24, 14.68, 15.12, 15.56])" ] }, - "execution_count": 50, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -840,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 32, "metadata": { "slideshow": { "slide_type": "fragment" @@ -857,7 +859,7 @@ " 14.16666667, 14.625 , 15.08333333, 15.54166667, 16. ]), 0.4583333333333333)" ] }, - "execution_count": 51, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -868,7 +870,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 33, "metadata": { "slideshow": { "slide_type": "subslide" @@ -883,7 +885,7 @@ " 15199.11082953, 28480.35868436, 53366.99231206, 100000. ])" ] }, - "execution_count": 59, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -894,7 +896,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 34, "metadata": { "slideshow": { "slide_type": "fragment" @@ -911,7 +913,7 @@ " 22.627417 , 24.67537321, 26.90868529, 29.34412938, 32. ])" ] }, - "execution_count": 60, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -922,7 +924,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 35, "metadata": { "slideshow": { "slide_type": "subslide" @@ -938,7 +940,7 @@ " [5, 6, 7]])" ] }, - "execution_count": 62, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -950,7 +952,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 36, "metadata": { "slideshow": { "slide_type": "fragment" @@ -966,7 +968,7 @@ " [15, 15, 15]])" ] }, - "execution_count": 63, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -977,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 37, "metadata": { "slideshow": { "slide_type": "fragment" @@ -998,7 +1000,7 @@ " [ 5, 6, 7]]])" ] }, - "execution_count": 68, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1010,7 +1012,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 38, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1023,7 +1025,7 @@ "(10, 10)" ] }, - "execution_count": 87, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1034,7 +1036,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 39, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1048,7 +1050,7 @@ " [5, 6, 7, 8, 9]])" ] }, - "execution_count": 94, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1059,7 +1061,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 40, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1075,7 +1077,7 @@ " [2, 3, 2, 3, 2, 3]])" ] }, - "execution_count": 111, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1087,7 +1089,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 41, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1097,11 +1099,11 @@ { "data": { "text/plain": [ - "array([[0.637855 , 0.11200493],\n", - " [0.89870718, 0.27657074]])" + "array([[0.41545787, 0.0157101 ],\n", + " [0.54952562, 0.38949899]])" ] }, - "execution_count": 134, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1113,7 +1115,7 @@ }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 42, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1123,10 +1125,10 @@ { "data": { "text/plain": [ - "9" + "7" ] }, - "execution_count": 139, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1137,7 +1139,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 43, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1147,11 +1149,11 @@ { "data": { "text/plain": [ - "array([[ 9, 8, 6],\n", - " [14, 11, 10]])" + "array([[13, 10, 14],\n", + " [ 5, 5, 13]])" ] }, - "execution_count": 140, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1175,7 +1177,7 @@ }, { "cell_type": "code", - "execution_count": 217, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -1184,7 +1186,7 @@ "array([0., 0., 0., 0.])" ] }, - "execution_count": 217, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1207,7 +1209,7 @@ }, { "cell_type": "code", - "execution_count": 218, + "execution_count": 45, "metadata": {}, "outputs": [ { @@ -1216,7 +1218,7 @@ "array([0., 0., 0., 0.])" ] }, - "execution_count": 218, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1238,7 +1240,7 @@ }, { "cell_type": "code", - "execution_count": 219, + "execution_count": 46, "metadata": {}, "outputs": [ { @@ -1247,7 +1249,7 @@ "array([0., 0., 0., 0.])" ] }, - "execution_count": 219, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1269,7 +1271,7 @@ }, { "cell_type": "code", - "execution_count": 233, + "execution_count": 47, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1282,7 +1284,7 @@ "(3, 20, 6)" ] }, - "execution_count": 233, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1294,7 +1296,7 @@ }, { "cell_type": "code", - "execution_count": 234, + "execution_count": 48, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1313,7 +1315,7 @@ " UPDATEIFCOPY : False" ] }, - "execution_count": 234, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1324,7 +1326,7 @@ }, { "cell_type": "code", - "execution_count": 236, + "execution_count": 49, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1343,7 +1345,7 @@ " UPDATEIFCOPY : False" ] }, - "execution_count": 236, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1354,7 +1356,7 @@ }, { "cell_type": "code", - "execution_count": 240, + "execution_count": 50, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1373,7 +1375,7 @@ " UPDATEIFCOPY : False" ] }, - "execution_count": 240, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1397,7 +1399,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 51, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1423,7 +1425,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 52, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1437,7 +1439,7 @@ " [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]])" ] }, - "execution_count": 97, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1448,7 +1450,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 53, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1462,7 +1464,7 @@ " [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512]])" ] }, - "execution_count": 99, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1484,7 +1486,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1493,7 +1495,7 @@ "array([3.2, 5.5, 7.6], dtype=float32)" ] }, - "execution_count": 116, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1517,7 +1519,7 @@ }, { "cell_type": "code", - "execution_count": 168, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1526,7 +1528,7 @@ "array([0, 1, 2, 3, 4])" ] }, - "execution_count": 168, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1538,7 +1540,7 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 56, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1551,7 +1553,7 @@ "array([False, False, False, True, True])" ] }, - "execution_count": 171, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -1562,7 +1564,7 @@ }, { "cell_type": "code", - "execution_count": 172, + "execution_count": 57, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1575,7 +1577,7 @@ "array([False, True, True, False, False])" ] }, - "execution_count": 172, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1586,7 +1588,7 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 58, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1599,7 +1601,7 @@ "array([False, True, True, False, False])" ] }, - "execution_count": 173, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -1610,7 +1612,7 @@ }, { "cell_type": "code", - "execution_count": 175, + "execution_count": 59, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1624,7 +1626,7 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-175-81e674c5a685>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m<ipython-input-59-81e674c5a685>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()" ] } @@ -1635,7 +1637,7 @@ }, { "cell_type": "code", - "execution_count": 174, + "execution_count": 60, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1648,7 +1650,7 @@ "array([0, 0, 0, 2, 4])" ] }, - "execution_count": 174, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -1660,7 +1662,7 @@ }, { "cell_type": "code", - "execution_count": 176, + "execution_count": 61, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1673,7 +1675,7 @@ "array([3, 5, 7, 7, 7])" ] }, - "execution_count": 176, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -1684,7 +1686,7 @@ }, { "cell_type": "code", - "execution_count": 177, + "execution_count": 62, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1697,7 +1699,7 @@ "array([3, 5, 7, 5, 3])" ] }, - "execution_count": 177, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -1708,7 +1710,7 @@ }, { "cell_type": "code", - "execution_count": 178, + "execution_count": 63, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1721,7 +1723,7 @@ "array([False, False, False, False, False])" ] }, - "execution_count": 178, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -1732,7 +1734,7 @@ }, { "cell_type": "code", - "execution_count": 179, + "execution_count": 64, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1745,7 +1747,7 @@ "array([ True, True, True, True, True])" ] }, - "execution_count": 179, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1756,7 +1758,7 @@ }, { "cell_type": "code", - "execution_count": 182, + "execution_count": 65, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1769,7 +1771,7 @@ "array([False, False, False, True, True])" ] }, - "execution_count": 182, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -1781,7 +1783,7 @@ }, { "cell_type": "code", - "execution_count": 183, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -1790,7 +1792,7 @@ "array([ True, True, True, False, False])" ] }, - "execution_count": 183, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -1812,7 +1814,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 67, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1825,7 +1827,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 68, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1838,7 +1840,7 @@ "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])" ] }, - "execution_count": 74, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1849,7 +1851,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 69, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1862,7 +1864,7 @@ "0.0" ] }, - "execution_count": 79, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1873,7 +1875,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 70, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1886,7 +1888,7 @@ "array([0., 0., 0., 0., 0.])" ] }, - "execution_count": 80, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -1897,7 +1899,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 71, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1911,7 +1913,7 @@ " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])" ] }, - "execution_count": 76, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1922,7 +1924,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 72, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1936,7 +1938,7 @@ " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])" ] }, - "execution_count": 78, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -1947,7 +1949,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 73, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1964,7 +1966,7 @@ " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])" ] }, - "execution_count": 81, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -1975,7 +1977,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 74, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1988,13 +1990,37 @@ "(5, 1, 10, 1)" ] }, - "execution_count": 122, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "a[:, None, :, None].shape" + "a[:, np.newaxis, :, np.newaxis].shape" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.newaxis is None" ] }, { @@ -2005,12 +2031,12 @@ } }, "source": [ - "Useful if you need to an array to have a certain number of dimensions." + "Useful if you need an array to have a certain number of dimensions." ] }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 76, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2025,7 +2051,7 @@ " 8, 9, 9, 9, 9, 9])" ] }, - "execution_count": 93, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -2036,7 +2062,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 77, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2058,13 +2084,13 @@ " [9, 9, 9, 9, 9]])" ] }, - "execution_count": 92, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "np.repeat(np.arange(10)[:, None], 5, axis=1)" + "np.repeat(np.arange(10)[:, np.newaxis], 5, axis=1)" ] }, { @@ -2080,12 +2106,8 @@ }, { "cell_type": "code", - "execution_count": 229, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, + "execution_count": 78, + "metadata": {}, "outputs": [ { "data": { @@ -2093,7 +2115,7 @@ "(3, 4, 5)" ] }, - "execution_count": 229, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } @@ -2105,7 +2127,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 79, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2118,7 +2140,7 @@ "(3, 4, 5)" ] }, - "execution_count": 103, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } @@ -2129,7 +2151,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 80, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2142,7 +2164,7 @@ "Ellipsis" ] }, - "execution_count": 105, + "execution_count": 80, "metadata": {}, "output_type": "execute_result" } @@ -2165,7 +2187,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 81, "metadata": {}, "outputs": [], "source": [ @@ -2175,20 +2197,20 @@ }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[ True, False, True, True, False, False, True, False],\n", - " [False, True, False, True, False, False, False, False],\n", - " [ True, False, True, False, False, True, False, True],\n", - " [ True, True, False, True, False, False, True, False],\n", - " [ True, False, True, False, False, True, False, False]])" + "array([[ True, False, True, True, True, False, False, False],\n", + " [False, False, False, False, False, False, False, False],\n", + " [False, False, False, False, True, False, False, False],\n", + " [False, True, False, False, False, False, False, False],\n", + " [False, True, False, False, True, False, True, True]])" ] }, - "execution_count": 150, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } @@ -2199,7 +2221,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 83, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2209,10 +2231,10 @@ { "data": { "text/plain": [ - "array([ 0, 2, 3, 6, 9, 11, 16, 18, 21, 23, 24, 25, 27, 30, 32, 34, 37])" + "array([ 0, 2, 3, 4, 20, 25, 33, 36, 38, 39])" ] }, - "execution_count": 152, + "execution_count": 83, "metadata": {}, "output_type": "execute_result" } @@ -2223,7 +2245,7 @@ }, { "cell_type": "code", - "execution_count": 161, + "execution_count": 84, "metadata": { "slideshow": { "slide_type": "subslide" @@ -2233,10 +2255,10 @@ { "data": { "text/plain": [ - "array([ 2, 4, 20, 24, 28, 32, 34, 36, 40, 46, 52, 64, 66, 72, 76])" + "array([ 0, 4, 6, 8, 40, 50, 66, 72, 76, 78])" ] }, - "execution_count": 161, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -2247,7 +2269,7 @@ }, { "cell_type": "code", - "execution_count": 162, + "execution_count": 85, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2257,14 +2279,14 @@ { "data": { "text/plain": [ - "array([[ 0, 0, 0, 3, 4, 5, 6, 7],\n", - " [ 8, 9, 0, 11, 0, 13, 0, 15],\n", - " [ 0, 0, 0, 19, 0, 21, 22, 0],\n", - " [24, 25, 0, 27, 28, 29, 30, 31],\n", - " [ 0, 0, 34, 35, 0, 37, 0, 39]])" + "array([[ 0, 1, 0, 0, 0, 5, 6, 7],\n", + " [ 8, 9, 10, 11, 12, 13, 14, 15],\n", + " [16, 17, 18, 19, 0, 21, 22, 23],\n", + " [24, 0, 26, 27, 28, 29, 30, 31],\n", + " [32, 0, 34, 35, 0, 37, 0, 0]])" ] }, - "execution_count": 162, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } @@ -2277,7 +2299,7 @@ }, { "cell_type": "code", - "execution_count": 163, + "execution_count": 86, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2287,14 +2309,14 @@ { "data": { "text/plain": [ - "array([[100, 1, 2, 103, 104, 105, 106, 107],\n", - " [108, 109, 10, 111, 12, 113, 14, 115],\n", - " [ 16, 17, 18, 119, 20, 121, 122, 23],\n", - " [124, 125, 26, 127, 128, 129, 130, 131],\n", - " [ 32, 33, 134, 135, 36, 137, 38, 139]])" + "array([[ 0, 101, 2, 3, 4, 105, 106, 107],\n", + " [108, 109, 110, 111, 112, 113, 114, 115],\n", + " [116, 117, 118, 119, 20, 121, 122, 123],\n", + " [124, 25, 126, 127, 128, 129, 130, 131],\n", + " [132, 33, 134, 135, 36, 137, 38, 39]])" ] }, - "execution_count": 163, + "execution_count": 86, "metadata": {}, "output_type": "execute_result" } @@ -2318,20 +2340,56 @@ }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[13, 9, 13, 13, 16, 8, 11, 12],\n", + " [ 9, 7, 9, 5, 10, 7, 6, 12],\n", + " [ 6, 10, 7, 6, 14, 5, 7, 6],\n", + " [10, 16, 9, 12, 7, 6, 11, 9],\n", + " [12, 16, 11, 7, 14, 11, 16, 13]])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 88, "metadata": { "slideshow": { "slide_type": "fragment" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(array([0, 0, 0, 0, 2, 3, 4, 4, 4, 4]), array([0, 2, 3, 4, 4, 1, 1, 4, 6, 7]))" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "idx = np.nonzero(b > 12)" + "idx = np.nonzero(b > 12)\n", + "idx" ] }, { "cell_type": "code", - "execution_count": 190, + "execution_count": 89, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2341,10 +2399,10 @@ { "data": { "text/plain": [ - "array([ 3, 8, 16, 17, 20, 21, 22, 24, 25, 28, 29, 36])" + "array([ 0, 2, 3, 4, 20, 25, 33, 36, 38, 39])" ] }, - "execution_count": 190, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -2374,7 +2432,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": 90, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2387,7 +2445,7 @@ "780" ] }, - "execution_count": 191, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -2398,7 +2456,7 @@ }, { "cell_type": "code", - "execution_count": 192, + "execution_count": 91, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2411,7 +2469,7 @@ "780" ] }, - "execution_count": 192, + "execution_count": 91, "metadata": {}, "output_type": "execute_result" } @@ -2422,7 +2480,7 @@ }, { "cell_type": "code", - "execution_count": 197, + "execution_count": 92, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2435,7 +2493,7 @@ "0" ] }, - "execution_count": 197, + "execution_count": 92, "metadata": {}, "output_type": "execute_result" } @@ -2446,7 +2504,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": 93, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2459,7 +2517,7 @@ "array([ 0, 8, 16, 24, 32])" ] }, - "execution_count": 198, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } @@ -2470,7 +2528,7 @@ }, { "cell_type": "code", - "execution_count": 208, + "execution_count": 94, "metadata": { "slideshow": { "slide_type": "subslide" @@ -2483,7 +2541,7 @@ "39" ] }, - "execution_count": 208, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -2494,7 +2552,7 @@ }, { "cell_type": "code", - "execution_count": 209, + "execution_count": 95, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2507,7 +2565,7 @@ "(4, 7)" ] }, - "execution_count": 209, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -2533,7 +2591,7 @@ }, { "cell_type": "code", - "execution_count": 254, + "execution_count": 96, "metadata": {}, "outputs": [ { @@ -2544,7 +2602,7 @@ " fill_value=999999)" ] }, - "execution_count": 254, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } @@ -2556,7 +2614,7 @@ }, { "cell_type": "code", - "execution_count": 243, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -2567,7 +2625,7 @@ " fill_value=999999)" ] }, - "execution_count": 243, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -2578,7 +2636,7 @@ }, { "cell_type": "code", - "execution_count": 244, + "execution_count": 98, "metadata": { "slideshow": { "slide_type": "subslide" @@ -2591,7 +2649,7 @@ "array([1, 2, 3])" ] }, - "execution_count": 244, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" } @@ -2602,7 +2660,7 @@ }, { "cell_type": "code", - "execution_count": 245, + "execution_count": 99, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2615,7 +2673,7 @@ "array([False, True, False])" ] }, - "execution_count": 245, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -2626,7 +2684,7 @@ }, { "cell_type": "code", - "execution_count": 256, + "execution_count": 100, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2639,7 +2697,7 @@ "array([1, 0, 3])" ] }, - "execution_count": 256, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -2650,7 +2708,7 @@ }, { "cell_type": "code", - "execution_count": 247, + "execution_count": 101, "metadata": { "slideshow": { "slide_type": "subslide" @@ -2665,7 +2723,7 @@ " fill_value=999999)" ] }, - "execution_count": 247, + "execution_count": 101, "metadata": {}, "output_type": "execute_result" } @@ -2692,7 +2750,7 @@ }, { "cell_type": "code", - "execution_count": 270, + "execution_count": 102, "metadata": {}, "outputs": [], "source": [ @@ -2713,7 +2771,7 @@ }, { "cell_type": "code", - "execution_count": 271, + "execution_count": 103, "metadata": {}, "outputs": [], "source": [ @@ -2724,14 +2782,23 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Be careful. No dtype or shape information is recorded in the binary file. `fromfile` will read the file as a flat array.\n", - "\n", + "Be careful. No dtype or shape information is recorded in the binary file. `fromfile` will read the file as a flat array." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "source": [ "An even better option than `fromfile` is to use `memmap`. Instead of loading all of the data in to memory, a memory map keeps the data on disk and only reads what it needs (and other fancy OS-level stuff)." ] }, { "cell_type": "code", - "execution_count": 272, + "execution_count": 104, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2755,7 +2822,7 @@ }, { "cell_type": "code", - "execution_count": 273, + "execution_count": 105, "metadata": {}, "outputs": [], "source": [ @@ -2764,7 +2831,7 @@ }, { "cell_type": "code", - "execution_count": 275, + "execution_count": 106, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2777,7 +2844,7 @@ "memmap([0, 1, 2, 3, 4], dtype=uint8)" ] }, - "execution_count": 275, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } @@ -2809,7 +2876,7 @@ }, { "cell_type": "code", - "execution_count": 276, + "execution_count": 107, "metadata": {}, "outputs": [], "source": [ @@ -2820,7 +2887,7 @@ }, { "cell_type": "code", - "execution_count": 278, + "execution_count": 108, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2830,10 +2897,10 @@ { "data": { "text/plain": [ - "<numpy.lib.npyio.NpzFile at 0x11f6bbd68>" + "<numpy.lib.npyio.NpzFile at 0x10a99ce80>" ] }, - "execution_count": 278, + "execution_count": 108, "metadata": {}, "output_type": "execute_result" } @@ -2845,7 +2912,7 @@ }, { "cell_type": "code", - "execution_count": 280, + "execution_count": 109, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2858,7 +2925,7 @@ "['my_var1', 'my_var2']" ] }, - "execution_count": 280, + "execution_count": 109, "metadata": {}, "output_type": "execute_result" } @@ -2869,7 +2936,7 @@ }, { "cell_type": "code", - "execution_count": 281, + "execution_count": 110, "metadata": {}, "outputs": [ { @@ -2878,7 +2945,7 @@ "array([0, 1, 2, 3, 4], dtype=uint8)" ] }, - "execution_count": 281, + "execution_count": 110, "metadata": {}, "output_type": "execute_result" }