From 5bd4129ad72b3672c5377e0000f537c82c50e4e8 Mon Sep 17 00:00:00 2001 From: Javier Garcia Esteve Date: Mon, 13 Oct 2025 17:03:17 +0200 Subject: [PATCH] Initial Commit --- your-code/main.ipynb | 397 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 337 insertions(+), 60 deletions(-) diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 46f5aa14..6abb1961 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -16,11 +16,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "import numpy as np" ] }, { @@ -34,11 +35,22 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.26.4\n", + "\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "print(np.__version__)\n", + "print(np.show_config)" ] }, { @@ -51,11 +63,39 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[0.09595481, 0.66101548, 0.92707815, 0.29302192, 0.86533421],\n", + " [0.27615509, 0.47971518, 0.30528016, 0.01052925, 0.65857089],\n", + " [0.46312201, 0.02896881, 0.84390786, 0.28298232, 0.846706 ]],\n", + "\n", + " [[0.47375877, 0.84676969, 0.4433458 , 0.73149329, 0.57672475],\n", + " [0.29265628, 0.18998082, 0.03234677, 0.14052345, 0.27541697],\n", + " [0.7402505 , 0.26426576, 0.97272351, 0.76920114, 0.03416522]]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "a = np.random.random((2,3,5))\n", + "\n", + "\"\"\"\n", + "np.random.rand(2,3,5)\n", + "\n", + "np.random.uniform(0,1,(2,3,5))\n", + "\n", + "\n", + "np.random.default_rng().random((2,3,5))\n", + "\n", + "\"\"\"" ] }, { @@ -68,11 +108,26 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[[0.01975347 0.48775579 0.01647244 0.15721383 0.53831125]\n", + " [0.62685256 0.84368921 0.53663897 0.47048047 0.00502583]\n", + " [0.20928799 0.3413389 0.4496454 0.22676762 0.34823174]]\n", + "\n", + " [[0.32481909 0.06468591 0.24106602 0.85560573 0.11854314]\n", + " [0.48837696 0.96806633 0.04757503 0.11489189 0.75264697]\n", + " [0.76857329 0.25039 0.69235304 0.24365901 0.43829617]]]\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "print(a)" ] }, { @@ -85,11 +140,12 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "b = np.ones((5,2,3))" ] }, { @@ -102,11 +158,33 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[[1. 1. 1.]\n", + " [1. 1. 1.]]\n", + "\n", + " [[1. 1. 1.]\n", + " [1. 1. 1.]]\n", + "\n", + " [[1. 1. 1.]\n", + " [1. 1. 1.]]\n", + "\n", + " [[1. 1. 1.]\n", + " [1. 1. 1.]]\n", + "\n", + " [[1. 1. 1.]\n", + " [1. 1. 1.]]]\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "print(b)" ] }, { @@ -119,11 +197,24 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "30\n", + "30\n", + "True\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "print(a.size)\n", + "print(b.size)\n", + "print(a.size == b.size)" ] }, { @@ -136,11 +227,45 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 3, 5)\n", + "(5, 2, 3)\n" + ] + } + ], + "source": [ + "print(a.shape)\n", + "print(b.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "operands could not be broadcast together with shapes (2,3,5) (5,2,3) ", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[26], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m### [your code here]\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m a\u001b[38;5;241m+\u001b[39mb\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28mprint\u001b[39m(a\u001b[38;5;241m.\u001b[39mshape)\n\u001b[0;32m 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(b\u001b[38;5;241m.\u001b[39mshape)\n", + "\u001b[1;31mValueError\u001b[0m: operands could not be broadcast together with shapes (2,3,5) (5,2,3) " + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "a+b\n", + "\n", + "#No. ValueError. Can only broadcast if shapes are compatible." ] }, { @@ -154,11 +279,21 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 20, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 3, 5)\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "c = np.transpose(b, (1, 2, 0))\n", + "print(c.shape)" ] }, { @@ -171,11 +306,15 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 39, "metadata": {}, "outputs": [], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "d = a + c\n", + "\n", + "\n", + "# Addition of a and c works now because their shapes are now compatible." ] }, { @@ -188,12 +327,43 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Array a:\n", + " [[[0.59246803 0.39083061 0.9821552 0.80920082 0.44739579]\n", + " [0.5291178 0.18516619 0.16302812 0.89940771 0.60531443]\n", + " [0.08637848 0.03421178 0.06285415 0.41799766 0.75632676]]\n", + "\n", + " [[0.45476229 0.15014876 0.28530609 0.57980505 0.17588817]\n", + " [0.49646163 0.54547775 0.32199217 0.73675625 0.5902897 ]\n", + " [0.62511491 0.11233695 0.95562963 0.7512318 0.18794619]]]\n", + "\n", + "Array d:\n", + " [[[1.59246803 1.39083061 1.9821552 1.80920082 1.44739579]\n", + " [1.5291178 1.18516619 1.16302812 1.89940771 1.60531443]\n", + " [1.08637848 1.03421178 1.06285415 1.41799766 1.75632676]]\n", + "\n", + " [[1.45476229 1.15014876 1.28530609 1.57980505 1.17588817]\n", + " [1.49646163 1.54547775 1.32199217 1.73675625 1.5902897 ]\n", + " [1.62511491 1.11233695 1.95562963 1.7512318 1.18794619]]]\n" + ] + } + ], "source": [ "### [your code here]\n", - "\n" + "\n", + "print(\"Array a:\\n\", a)\n", + "print(\"\\nArray d:\\n\", d)\n", + "\n", + "\"\"\"\n", + "d is just a shifted up by 1 \n", + "Each element in d is one greater than the corresponding element in a, because we added an array of ones.\n", + "\"\"\"" ] }, { @@ -206,11 +376,30 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[0.59246803, 0.39083061, 0.9821552 , 0.80920082, 0.44739579],\n", + " [0.5291178 , 0.18516619, 0.16302812, 0.89940771, 0.60531443],\n", + " [0.08637848, 0.03421178, 0.06285415, 0.41799766, 0.75632676]],\n", + "\n", + " [[0.45476229, 0.15014876, 0.28530609, 0.57980505, 0.17588817],\n", + " [0.49646163, 0.54547775, 0.32199217, 0.73675625, 0.5902897 ],\n", + " [0.62511491, 0.11233695, 0.95562963, 0.7512318 , 0.18794619]]])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "e = a * c\n", + "e" ] }, { @@ -224,12 +413,31 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[ True, True, True, True, True],\n", + " [ True, True, True, True, True],\n", + " [ True, True, True, True, True]],\n", + "\n", + " [[ True, True, True, True, True],\n", + " [ True, True, True, True, True],\n", + " [ True, True, True, True, True]]])" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "### [your code here]\n", - "\n" + "\n", + "e == a\n", + "#Yes e is equal to b because multiplying by 1 doesn't change any value." ] }, { @@ -243,12 +451,29 @@ }, { "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d_max: 1.9821552024722973\n", + "d_min: 1.034211778205768\n", + "d_mean: 1.4643666959257777\n" + ] + } + ], "source": [ "### [your code here]\n", - "\n" + "\n", + "d_max = np.max(d)\n", + "d_min = np.min(d)\n", + "d_mean = np.mean(d)\n", + "\n", + "print(\"d_max:\", d_max)\n", + "print(\"d_min:\", d_min)\n", + "print(\"d_mean:\", d_mean)\n" ] }, { @@ -261,11 +486,21 @@ }, { "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 3, 5)\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "f = np.empty(d.shape)\n", + "print(f.shape)" ] }, { @@ -287,11 +522,25 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 51, "metadata": {}, "outputs": [], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "\n", + "for i in range(d.shape[0]):\n", + " for j in range(d.shape[1]):\n", + " for k in range(d.shape[2]):\n", + " if d[i, j, k] == d_min:\n", + " f[i, j, k] = 0\n", + " elif d[i, j, k] == d_mean:\n", + " f[i, j, k] = 50\n", + " elif d[i, j, k] == d_max:\n", + " f[i, j, k] = 100\n", + " elif d[i, j, k] > d_min and d[i, j, k] < d_mean:\n", + " f[i, j, k] = 25\n", + " elif d[i, j, k] > d_mean and d[i, j, k] < d_max:\n", + " f[i, j, k] = 75\n" ] }, { @@ -325,11 +574,39 @@ }, { "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [], + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Array d:\n", + " [[[1.59246803 1.39083061 1.9821552 1.80920082 1.44739579]\n", + " [1.5291178 1.18516619 1.16302812 1.89940771 1.60531443]\n", + " [1.08637848 1.03421178 1.06285415 1.41799766 1.75632676]]\n", + "\n", + " [[1.45476229 1.15014876 1.28530609 1.57980505 1.17588817]\n", + " [1.49646163 1.54547775 1.32199217 1.73675625 1.5902897 ]\n", + " [1.62511491 1.11233695 1.95562963 1.7512318 1.18794619]]]\n", + "\n", + "Array f:\n", + " [[[ 75. 25. 100. 75. 25.]\n", + " [ 75. 25. 25. 75. 75.]\n", + " [ 25. 0. 25. 25. 75.]]\n", + "\n", + " [[ 25. 25. 25. 75. 25.]\n", + " [ 75. 75. 25. 75. 75.]\n", + " [ 75. 25. 75. 75. 25.]]]\n" + ] + } + ], "source": [ - "### [your code here]\n" + "### [your code here]\n", + "print(\"Array d:\\n\", d)\n", + "print(\"\\nArray f:\\n\", f)\n", + "\n", + "#Yes." ] }, { @@ -360,7 +637,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "base", "language": "python", "name": "python3" }, @@ -374,7 +651,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.0" + "version": "3.12.7" } }, "nbformat": 4,