diff --git a/README.md b/README.md index 064559a..d141cb3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # Python Course 🐍 A hands-on introductory course, covering the basics of the Python language with emphasis on scientific and data analysis tasks. +Check it out [here](https://fabridamicelli.github.io/python-course/)! diff --git a/chapters/01_getting_started.ipynb b/chapters/01_getting_started.ipynb index a18d4df..84c7eb0 100644 --- a/chapters/01_getting_started.ipynb +++ b/chapters/01_getting_started.ipynb @@ -27,7 +27,7 @@ "- Manage virtual environments\n", "- Install third party libraries\n", "\n", - "We we'll use here [`uv`](https://docs.astral.sh/uv) which is a high level tool that does all 3 for us." + "We will use here [`uv`](https://docs.astral.sh/uv) which is a high level tool that does all 3 for us." ] }, { diff --git a/chapters/08_numpy.ipynb b/chapters/08_numpy.ipynb index 7b54773..a40afc0 100644 --- a/chapters/08_numpy.ipynb +++ b/chapters/08_numpy.ipynb @@ -16,7 +16,20 @@ "id": "ec86658f-670c-4043-86f7-f2661e486756", "metadata": {}, "source": [ - "Take a look at this intro in [Wes MacKinney's book](https://wesmckinney.com/book/numpy-basics)" + "We will follow here this excellent chapter from [Wes MacKinney's book](https://wesmckinney.com/book/numpy-basics)." + ] + }, + { + "cell_type": "markdown", + "id": "022c4714-d3cc-4b4f-b755-bade698ffa86", + "metadata": {}, + "source": [ + "In particular the subtitles:\n", + "\n", + "- Creating ndarray\n", + "- Arithmetic with numpy arrays\n", + "- Basic indexing and slicing\n", + "- Boolean indexing" ] }, { @@ -227,40 +240,79 @@ "For example the `random` submodule exposes several useful functions for stochastic modelling and statistical analysis." ] }, + { + "cell_type": "markdown", + "id": "84c6a8d7-2192-4cf9-adf2-a9f110d5b01f", + "metadata": {}, + "source": [ + "## Exercises" + ] + }, { "cell_type": "code", "execution_count": 2, - "id": "3f77af0d-4398-404f-b379-214220dddbdd", + "id": "123df306-ae3f-4ebf-b283-7e7d9f7705d9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n", + " 17, 18, 19, 20, 21, 22, 23, 24])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#| code-fold: true\n", - "import matplotlib.pyplot as plt" + "arr = np.arange(25)\n", + "arr" ] }, { "cell_type": "code", - "execution_count": 14, - "id": "832538ec-db42-4f9f-befc-aee257286bd8", + "execution_count": 6, + "id": "a0840103-6335-4077-afa0-3c843a4d3aec", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", "text/plain": [ - "
+Here’s the introductory chapter of the book, by the original author of the library pandas Wes McKinney. In particular, we’ll look at subtitles:
+These are useful cheatsheets.
Check out the pandas getting-started documentation here
Here’s short introduction by the very author of the library:
+Series from dict Missing values
+Series from dict Display first 7 elements Display last 7 elements Read in data, assign column names Read in only X rows Compute mean of 1 column Add two columns (numbers) Add two columns (strings) Add a column to existing dataframe Add an indicator column to existing dataframe
+Find an interesting dataset, download and explore a bit.
+Discard rows with missing values Fill missing values Drop entire rows (by index) Drop entire cols Sort elements (index, values)
+Summary metric on specific cols Substract mean of a col from other columns
+