diff --git a/doc/pub/Introduction/html/Introduction-bs.html b/doc/pub/Introduction/html/Introduction-bs.html
index 2be47e2..dac87ad 100644
--- a/doc/pub/Introduction/html/Introduction-bs.html
+++ b/doc/pub/Introduction/html/Introduction-bs.html
@@ -372,7 +372,7 @@
Nuclear Talent course on Machine Learning in Nuclear Experiment and Theory<
-Sep 25, 2022
+Sep 24, 2023
diff --git a/doc/pub/Introduction/html/Introduction-reveal.html b/doc/pub/Introduction/html/Introduction-reveal.html
index c3bf6dc..2df9a24 100644
--- a/doc/pub/Introduction/html/Introduction-reveal.html
+++ b/doc/pub/Introduction/html/Introduction-reveal.html
@@ -184,7 +184,7 @@ Nuclear Talent course on Machine Learning in Nu
-Sep 25, 2022
+Sep 24, 2023
diff --git a/doc/pub/Introduction/html/Introduction-solarized.html b/doc/pub/Introduction/html/Introduction-solarized.html
index 819010b..1d73bd8 100644
--- a/doc/pub/Introduction/html/Introduction-solarized.html
+++ b/doc/pub/Introduction/html/Introduction-solarized.html
@@ -307,7 +307,7 @@ Nuclear Talent course on Machine Learning in Nuclear Experiment and Theory<
-Sep 25, 2022
+Sep 24, 2023
diff --git a/doc/pub/Introduction/html/Introduction.html b/doc/pub/Introduction/html/Introduction.html
index f5a049a..d49fa44 100644
--- a/doc/pub/Introduction/html/Introduction.html
+++ b/doc/pub/Introduction/html/Introduction.html
@@ -384,7 +384,7 @@ Nuclear Talent course on Machine Learning in Nuclear Experiment and Theory<
-Sep 25, 2022
+Sep 24, 2023
diff --git a/doc/pub/Introduction/ipynb/Introduction.ipynb b/doc/pub/Introduction/ipynb/Introduction.ipynb
index 6c9031e..37045bd 100644
--- a/doc/pub/Introduction/ipynb/Introduction.ipynb
+++ b/doc/pub/Introduction/ipynb/Introduction.ipynb
@@ -2,8 +2,10 @@
"cells": [
{
"cell_type": "markdown",
- "id": "c7ef21df",
- "metadata": {},
+ "id": "2274e914",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
@@ -12,19 +14,23 @@
},
{
"cell_type": "markdown",
- "id": "97f45f07",
- "metadata": {},
+ "id": "b82d8ae5",
+ "metadata": {
+ "editable": true
+ },
"source": [
"# Nuclear Talent course on Machine Learning in Nuclear Experiment and Theory\n",
"**[Morten Hjorth-Jensen](http://mhjgit.github.io/info/doc/web/)**, Department of Physics and Astronomy and Facility for Rare Isotope Beams, Michigan State University, East Lansing, Michigan, USA and Department of Physics and Center for Computing in Science Education, University of Oslo, Oslo, Norway\n",
"\n",
- "Date: **Sep 25, 2022**"
+ "Date: **Sep 24, 2023**"
]
},
{
"cell_type": "markdown",
- "id": "8a9bffe0",
- "metadata": {},
+ "id": "f44d0bba",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Introduction\n",
"\n",
@@ -50,8 +56,10 @@
},
{
"cell_type": "markdown",
- "id": "30c5ba3f",
- "metadata": {},
+ "id": "cce75d86",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Overview of these introductory notes\n",
"\n",
@@ -79,16 +87,20 @@
},
{
"cell_type": "markdown",
- "id": "6df0c291",
- "metadata": {},
+ "id": "55fda48b",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Machine Learning, short overview"
]
},
{
"cell_type": "markdown",
- "id": "ba4a69e2",
- "metadata": {},
+ "id": "5910126a",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Machine Learning, a small (and probably biased) introduction\n",
"\n",
@@ -105,8 +117,10 @@
},
{
"cell_type": "markdown",
- "id": "a3fb13f7",
- "metadata": {},
+ "id": "249492da",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Machine Learning, an extremely rich field\n",
"\n",
@@ -127,8 +141,10 @@
},
{
"cell_type": "markdown",
- "id": "1cf698ec",
- "metadata": {},
+ "id": "db10ddbd",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## A multidisciplinary approach\n",
"\n",
@@ -144,8 +160,10 @@
},
{
"cell_type": "markdown",
- "id": "c2c4c286",
- "metadata": {},
+ "id": "671a6b16",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Learning outcomes\n",
"\n",
@@ -175,8 +193,10 @@
},
{
"cell_type": "markdown",
- "id": "b3426c55",
- "metadata": {},
+ "id": "ec15b54c",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Types of Machine Learning\n",
"\n",
@@ -202,8 +222,10 @@
},
{
"cell_type": "markdown",
- "id": "d9ec7493",
- "metadata": {},
+ "id": "c35188ba",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Essential elements of ML\n",
"\n",
@@ -218,8 +240,10 @@
},
{
"cell_type": "markdown",
- "id": "8eef38f1",
- "metadata": {},
+ "id": "cb25a580",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## An optimization/minimization problem\n",
"\n",
@@ -228,8 +252,10 @@
},
{
"cell_type": "markdown",
- "id": "e6673eed",
- "metadata": {},
+ "id": "541b3d5f",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## A Frequentist approach to data analysis\n",
"\n",
@@ -261,8 +287,10 @@
},
{
"cell_type": "markdown",
- "id": "9500c61e",
- "metadata": {},
+ "id": "a1c241e4",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## What is a good model?\n",
"\n",
@@ -289,8 +317,10 @@
},
{
"cell_type": "markdown",
- "id": "93cb1262",
- "metadata": {},
+ "id": "4c4f8a91",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## What is a good model? Can we define it?\n",
"\n",
@@ -318,16 +348,20 @@
},
{
"cell_type": "markdown",
- "id": "5311869b",
- "metadata": {},
+ "id": "d1c2ef4f",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Practicalities, choice of programming language and other computational issues"
]
},
{
"cell_type": "markdown",
- "id": "f7dd05f6",
- "metadata": {},
+ "id": "cbbb5b96",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Choice of Programming Language\n",
"\n",
@@ -347,8 +381,10 @@
},
{
"cell_type": "markdown",
- "id": "ac6d9ab8",
- "metadata": {},
+ "id": "d2d07f41",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Software and needed installations\n",
"\n",
@@ -382,8 +418,10 @@
},
{
"cell_type": "markdown",
- "id": "de9b90af",
- "metadata": {},
+ "id": "f8d13461",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Python installers\n",
"\n",
@@ -413,8 +451,10 @@
},
{
"cell_type": "markdown",
- "id": "b9de94c5",
- "metadata": {},
+ "id": "72365393",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Useful Python libraries\n",
"Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there)\n",
@@ -444,16 +484,20 @@
},
{
"cell_type": "markdown",
- "id": "21296417",
- "metadata": {},
+ "id": "fd8e32a2",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## More Practicalities, handling arrays"
]
},
{
"cell_type": "markdown",
- "id": "8181ac33",
- "metadata": {},
+ "id": "60a853ce",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Basic Matrix Features, Numpy examples and Important Matrix and vector handling packages\n",
"\n",
@@ -462,8 +506,10 @@
},
{
"cell_type": "markdown",
- "id": "88a7cbf8",
- "metadata": {},
+ "id": "bfc788ca",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathbf{A} =\n",
@@ -483,16 +529,20 @@
},
{
"cell_type": "markdown",
- "id": "a370cf16",
- "metadata": {},
+ "id": "cd78df52",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The inverse of a matrix is defined by"
]
},
{
"cell_type": "markdown",
- "id": "c64d3ba1",
- "metadata": {},
+ "id": "8ef8314d",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathbf{A}^{-1} \\cdot \\mathbf{A} = I\n",
@@ -501,8 +551,10 @@
},
{
"cell_type": "markdown",
- "id": "ea332ac4",
- "metadata": {},
+ "id": "750461b6",
+ "metadata": {
+ "editable": true
+ },
"source": [
"
\n",
"\n",
@@ -520,8 +572,10 @@
},
{
"cell_type": "markdown",
- "id": "d831a9cf",
- "metadata": {},
+ "id": "9d9ea5ef",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Some famous Matrices\n",
"\n",
@@ -546,8 +600,10 @@
},
{
"cell_type": "markdown",
- "id": "a0ef408a",
- "metadata": {},
+ "id": "d1643c35",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## More Basic Matrix Features\n",
"\n",
@@ -570,8 +626,10 @@
},
{
"cell_type": "markdown",
- "id": "c784a027",
- "metadata": {},
+ "id": "5c736fdb",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Numpy and arrays\n",
"[Numpy](http://www.numpy.org/) provides an easy way to handle arrays in Python. The standard way to import this library is as"
@@ -580,8 +638,11 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "02cd7073",
- "metadata": {},
+ "id": "8eab8905",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
"outputs": [],
"source": [
"import numpy as np"
@@ -589,8 +650,10 @@
},
{
"cell_type": "markdown",
- "id": "1b389c59",
- "metadata": {},
+ "id": "67e213f3",
+ "metadata": {
+ "editable": true
+ },
"source": [
"Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution,"
]
@@ -598,18 +661,12 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "f277fec9",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 1.24826685 1.20222048 0.17700469 0.12954931 -1.15497332 -0.43018674\n",
- " -0.00894835 -1.37166367 -1.10791697 0.16654221]\n"
- ]
- }
- ],
+ "id": "8a619af1",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"n = 10\n",
"x = np.random.normal(size=n)\n",
@@ -618,8 +675,10 @@
},
{
"cell_type": "markdown",
- "id": "dbd22f9d",
- "metadata": {},
+ "id": "f5e4b34c",
+ "metadata": {
+ "editable": true
+ },
"source": [
"We defined a vector $x$ with $n=10$ elements with its values given by the Normal distribution $N(0,1)$.\n",
"Another alternative is to declare a vector as follows"
@@ -628,17 +687,12 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "27332d9c",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1 2 3]\n"
- ]
- }
- ],
+ "id": "96338fb0",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"x = np.array([1, 2, 3])\n",
@@ -647,8 +701,10 @@
},
{
"cell_type": "markdown",
- "id": "ca6a0178",
- "metadata": {},
+ "id": "0ae5f183",
+ "metadata": {
+ "editable": true
+ },
"source": [
"Here we have defined a vector with three elements, with $x_0=1$, $x_1=2$ and $x_2=3$. Note that both Python and C++\n",
"start numbering array elements from $0$ and on. This means that a vector with $n$ elements has a sequence of entities $x_0, x_1, x_2, \\dots, x_{n-1}$. We could also let (recommended) Numpy to compute the logarithms of a specific array as"
@@ -657,17 +713,12 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "d47de077",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1.38629436 1.94591015 2.07944154]\n"
- ]
- }
- ],
+ "id": "4c57fd82",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"x = np.log(np.array([4, 7, 8]))\n",
@@ -676,8 +727,10 @@
},
{
"cell_type": "markdown",
- "id": "5f379483",
- "metadata": {},
+ "id": "8194fadb",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## More Examples\n",
"\n",
@@ -693,17 +746,12 @@
{
"cell_type": "code",
"execution_count": 5,
- "id": "d7b14782",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1 1 2]\n"
- ]
- }
- ],
+ "id": "f13cf964",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"from math import log\n",
@@ -715,8 +763,10 @@
},
{
"cell_type": "markdown",
- "id": "1f1e87e1",
- "metadata": {},
+ "id": "605144ec",
+ "metadata": {
+ "editable": true
+ },
"source": [
"We note that our code is much longer already and we need to import the **log** function from the **math** module. \n",
"The attentive reader will also notice that the output is $[1, 1, 2]$. Python interprets automagically our numbers as integers (like the **automatic** keyword in C++). To change this we could define our array elements to be double precision numbers as"
@@ -725,17 +775,12 @@
{
"cell_type": "code",
"execution_count": 6,
- "id": "5f0a358a",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1.38629436 1.94591015 2.07944154]\n"
- ]
- }
- ],
+ "id": "b694f766",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"x = np.log(np.array([4, 7, 8], dtype = np.float64))\n",
@@ -744,8 +789,10 @@
},
{
"cell_type": "markdown",
- "id": "d0e99292",
- "metadata": {},
+ "id": "6457ab02",
+ "metadata": {
+ "editable": true
+ },
"source": [
"or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is"
]
@@ -753,17 +800,12 @@
{
"cell_type": "code",
"execution_count": 7,
- "id": "8b836c8d",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1.38629436 1.94591015 2.07944154]\n"
- ]
- }
- ],
+ "id": "35a567ef",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"x = np.log(np.array([4.0, 7.0, 8.0]))\n",
@@ -772,8 +814,10 @@
},
{
"cell_type": "markdown",
- "id": "37e1c191",
- "metadata": {},
+ "id": "2c24fe55",
+ "metadata": {
+ "editable": true
+ },
"source": [
"To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the **itemsize** functionality (the array $x$ is actually an object which inherits the functionalities defined in Numpy) as"
]
@@ -781,17 +825,12 @@
{
"cell_type": "code",
"execution_count": 8,
- "id": "b8c854b1",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1.38629436 1.94591015 2.07944154]\n"
- ]
- }
- ],
+ "id": "2837c505",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"x = np.log(np.array([4.0, 7.0, 8.0]))\n",
@@ -800,8 +839,10 @@
},
{
"cell_type": "markdown",
- "id": "2bdfaf0c",
- "metadata": {},
+ "id": "c3328494",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Matrices in Python\n",
"\n",
@@ -813,19 +854,12 @@
{
"cell_type": "code",
"execution_count": 9,
- "id": "a83f8003",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[1.38629436 1.94591015 2.07944154]\n",
- " [1.09861229 2.30258509 2.39789527]\n",
- " [1.38629436 1.60943791 1.94591015]]\n"
- ]
- }
- ],
+ "id": "f13acaa9",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))\n",
@@ -834,8 +868,10 @@
},
{
"cell_type": "markdown",
- "id": "54e22f3d",
- "metadata": {},
+ "id": "199a7303",
+ "metadata": {
+ "editable": true
+ },
"source": [
"If we use the **shape** function we would get $(3, 3)$ as output, that is verifying that our matrix is a $3\\times 3$ matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as"
]
@@ -843,17 +879,12 @@
{
"cell_type": "code",
"execution_count": 10,
- "id": "1efa1ca9",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1.38629436 1.09861229 1.38629436]\n"
- ]
- }
- ],
+ "id": "d9123012",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))\n",
@@ -863,8 +894,10 @@
},
{
"cell_type": "markdown",
- "id": "dccf8fb1",
- "metadata": {},
+ "id": "5575f5f5",
+ "metadata": {
+ "editable": true
+ },
"source": [
"We can continue this was by printing out other columns or rows. The example here prints out the second column"
]
@@ -872,17 +905,12 @@
{
"cell_type": "code",
"execution_count": 11,
- "id": "45b96449",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1.09861229 2.30258509 2.39789527]\n"
- ]
- }
- ],
+ "id": "a5bd9cff",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))\n",
@@ -892,8 +920,10 @@
},
{
"cell_type": "markdown",
- "id": "c42595ae",
- "metadata": {},
+ "id": "5c669557",
+ "metadata": {
+ "editable": true
+ },
"source": [
"Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the [Numpy website for more details](http://www.numpy.org/). Useful functions when defining a matrix are the **np.zeros** function which declares a matrix of a given dimension and sets all elements to zero"
]
@@ -901,8 +931,11 @@
{
"cell_type": "code",
"execution_count": 12,
- "id": "fed5b056",
- "metadata": {},
+ "id": "c2085403",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
"outputs": [],
"source": [
"import numpy as np\n",
@@ -914,8 +947,10 @@
},
{
"cell_type": "markdown",
- "id": "e76b4c7e",
- "metadata": {},
+ "id": "0c6009e7",
+ "metadata": {
+ "editable": true
+ },
"source": [
"or initializing all elements to"
]
@@ -923,8 +958,11 @@
{
"cell_type": "code",
"execution_count": 13,
- "id": "2bb38dfb",
- "metadata": {},
+ "id": "184f59b0",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
"outputs": [],
"source": [
"import numpy as np\n",
@@ -936,8 +974,10 @@
},
{
"cell_type": "markdown",
- "id": "a2c3ecb9",
- "metadata": {},
+ "id": "8db84aa6",
+ "metadata": {
+ "editable": true
+ },
"source": [
"or as unitarily distributed random numbers (see the material on random number generators in the statistics part)"
]
@@ -945,8 +985,11 @@
{
"cell_type": "code",
"execution_count": 14,
- "id": "8b30d53c",
- "metadata": {},
+ "id": "4bab2072",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
"outputs": [],
"source": [
"import numpy as np\n",
@@ -958,8 +1001,10 @@
},
{
"cell_type": "markdown",
- "id": "c789e06d",
- "metadata": {},
+ "id": "8b426031",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## More Examples, Covariance matrix\n",
"\n",
@@ -970,8 +1015,10 @@
},
{
"cell_type": "markdown",
- "id": "70d079bf",
- "metadata": {},
+ "id": "2e80be67",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\boldsymbol{\\Sigma} = \\begin{bmatrix} \\sigma_{xx} & \\sigma_{xy} & \\sigma_{xz} \\\\\n",
@@ -983,16 +1030,20 @@
},
{
"cell_type": "markdown",
- "id": "bbedf417",
- "metadata": {},
+ "id": "8c8eba8d",
+ "metadata": {
+ "editable": true
+ },
"source": [
"where for example"
]
},
{
"cell_type": "markdown",
- "id": "3bab3dc6",
- "metadata": {},
+ "id": "b13f4900",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\sigma_{xy} =\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})(y_i- \\overline{y}).\n",
@@ -1001,8 +1052,10 @@
},
{
"cell_type": "markdown",
- "id": "7c13419d",
- "metadata": {},
+ "id": "aa9ece7a",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The Numpy function **np.cov** calculates the covariance elements using the factor $1/(n-1)$ instead of $1/n$ since it assumes we do not have the exact mean values. \n",
"The following simple function uses the **np.vstack** function which takes each vector of dimension $1\\times n$ and produces a $3\\times n$ matrix $\\boldsymbol{W}$"
@@ -1010,8 +1063,10 @@
},
{
"cell_type": "markdown",
- "id": "0b2767e2",
- "metadata": {},
+ "id": "d3a197a0",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\boldsymbol{W} = \\begin{bmatrix} x_0 & y_0 & z_0 \\\\\n",
@@ -1026,8 +1081,10 @@
},
{
"cell_type": "markdown",
- "id": "6ab47f8e",
- "metadata": {},
+ "id": "d6c0d341",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## More on the Covariance Matrix\n",
"\n",
@@ -1041,8 +1098,11 @@
{
"cell_type": "code",
"execution_count": 15,
- "id": "b18f6bb7",
- "metadata": {},
+ "id": "64babda3",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
"outputs": [],
"source": [
"# Importing various packages\n",
@@ -1064,16 +1124,20 @@
},
{
"cell_type": "markdown",
- "id": "29817f31",
- "metadata": {},
+ "id": "dcd59049",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Practicalities, Reminder on Statistics"
]
},
{
"cell_type": "markdown",
- "id": "08994c2b",
- "metadata": {},
+ "id": "024cb789",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Brief Reminder on Statistical Analysis\n",
"The *probability distribution function (PDF)* is a function\n",
@@ -1083,8 +1147,10 @@
},
{
"cell_type": "markdown",
- "id": "3faa4374",
- "metadata": {},
+ "id": "6d77c41f",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"p(x) = \\mathrm{prob}(X=x)\n",
@@ -1093,8 +1159,10 @@
},
{
"cell_type": "markdown",
- "id": "3b474f5e",
- "metadata": {},
+ "id": "9370c4e0",
+ "metadata": {
+ "editable": true
+ },
"source": [
"In the continuous case, the PDF does not directly depict the\n",
"actual probability. Instead we define the probability for the\n",
@@ -1107,8 +1175,10 @@
},
{
"cell_type": "markdown",
- "id": "f355e7de",
- "metadata": {},
+ "id": "5ca77a5e",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathrm{prob}(a\\leq X\\leq b) = \\int_a^b p(x)dx\n",
@@ -1117,8 +1187,10 @@
},
{
"cell_type": "markdown",
- "id": "e4c05358",
- "metadata": {},
+ "id": "115f2dc7",
+ "metadata": {
+ "editable": true
+ },
"source": [
"Qualitatively speaking, a stochastic variable represents the values of\n",
"numbers chosen as if by chance from some specified PDF so that the\n",
@@ -1127,8 +1199,10 @@
},
{
"cell_type": "markdown",
- "id": "2950a8b9",
- "metadata": {},
+ "id": "932260d0",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, moments\n",
"A particularly useful class of special expectation values are the\n",
@@ -1138,8 +1212,10 @@
},
{
"cell_type": "markdown",
- "id": "dd3b4aa6",
- "metadata": {},
+ "id": "4a082486",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\langle x^n\\rangle \\equiv \\int\\! x^n p(x)\\,dx\n",
@@ -1148,8 +1224,10 @@
},
{
"cell_type": "markdown",
- "id": "82a0124d",
- "metadata": {},
+ "id": "e36ffa9b",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The zero-th moment $\\langle 1\\rangle$ is just the normalization condition of\n",
"$p$. The first moment, $\\langle x\\rangle$, is called the *mean* of $p$\n",
@@ -1158,8 +1236,10 @@
},
{
"cell_type": "markdown",
- "id": "e9037771",
- "metadata": {},
+ "id": "a47cf536",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\langle x\\rangle = \\mu \\equiv \\int\\! x p(x)\\,dx\n",
@@ -1168,8 +1248,10 @@
},
{
"cell_type": "markdown",
- "id": "83b3d249",
- "metadata": {},
+ "id": "d601e5ce",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, central moments\n",
"A special version of the moments is the set of *central moments*,\n",
@@ -1178,8 +1260,10 @@
},
{
"cell_type": "markdown",
- "id": "e058bada",
- "metadata": {},
+ "id": "82b67f16",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\langle (x-\\langle x \\rangle )^n\\rangle \\equiv \\int\\! (x-\\langle x\\rangle)^n p(x)\\,dx\n",
@@ -1188,8 +1272,10 @@
},
{
"cell_type": "markdown",
- "id": "ea24bda3",
- "metadata": {},
+ "id": "31dfa639",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The zero-th and first central moments are both trivial, equal $1$ and\n",
"$0$, respectively. But the second central moment, known as the\n",
@@ -1199,8 +1285,10 @@
},
{
"cell_type": "markdown",
- "id": "bd72bdca",
- "metadata": {},
+ "id": "e25c8e30",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1216,8 +1304,10 @@
},
{
"cell_type": "markdown",
- "id": "23f4ded6",
- "metadata": {},
+ "id": "726b6af6",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1233,8 +1323,10 @@
},
{
"cell_type": "markdown",
- "id": "fb6a8d9e",
- "metadata": {},
+ "id": "314cb1a2",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1249,8 +1341,10 @@
},
{
"cell_type": "markdown",
- "id": "978d68ec",
- "metadata": {},
+ "id": "dfbfce81",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1265,8 +1359,10 @@
},
{
"cell_type": "markdown",
- "id": "c8a80bcd",
- "metadata": {},
+ "id": "4717ef67",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The square root of the variance, $\\sigma =\\sqrt{\\langle (x-\\langle x\\rangle)^2\\rangle}$ is called the *standard deviation* of $p$. It is clearly just the RMS (root-mean-square)\n",
"value of the deviation of the PDF from its mean value, interpreted\n",
@@ -1275,8 +1371,10 @@
},
{
"cell_type": "markdown",
- "id": "2378f1c8",
- "metadata": {},
+ "id": "983ba9ba",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, covariance\n",
"Another important quantity is the so called covariance, a variant of\n",
@@ -1288,8 +1386,10 @@
},
{
"cell_type": "markdown",
- "id": "fd3a99c1",
- "metadata": {},
+ "id": "1b095a8f",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathrm{cov}(X_i,\\,X_j) \\equiv \\langle (x_i-\\langle x_i\\rangle)(x_j-\\langle x_j\\rangle)\\rangle\n",
@@ -1299,8 +1399,10 @@
},
{
"cell_type": "markdown",
- "id": "d281b532",
- "metadata": {},
+ "id": "603d72cc",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1317,16 +1419,20 @@
},
{
"cell_type": "markdown",
- "id": "2c05a33a",
- "metadata": {},
+ "id": "4a4becd9",
+ "metadata": {
+ "editable": true
+ },
"source": [
"with"
]
},
{
"cell_type": "markdown",
- "id": "e1554578",
- "metadata": {},
+ "id": "eb342bf7",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\langle x_i\\rangle =\n",
@@ -1336,8 +1442,10 @@
},
{
"cell_type": "markdown",
- "id": "314edffc",
- "metadata": {},
+ "id": "4023d375",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, more covariance\n",
"If we consider the above covariance as a matrix $C_{ij}=\\mathrm{cov}(X_i,\\,X_j)$, then the diagonal elements are just the familiar\n",
@@ -1350,8 +1458,10 @@
},
{
"cell_type": "markdown",
- "id": "a8440bcb",
- "metadata": {},
+ "id": "5f793dd3",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1366,8 +1476,10 @@
},
{
"cell_type": "markdown",
- "id": "bd93e9ad",
- "metadata": {},
+ "id": "152feb6c",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1382,8 +1494,10 @@
},
{
"cell_type": "markdown",
- "id": "5da7529c",
- "metadata": {},
+ "id": "f29e7119",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1399,8 +1513,10 @@
},
{
"cell_type": "markdown",
- "id": "bb3ead26",
- "metadata": {},
+ "id": "25f62c6c",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1416,8 +1532,10 @@
},
{
"cell_type": "markdown",
- "id": "e273da78",
- "metadata": {},
+ "id": "16bf231d",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1432,8 +1550,10 @@
},
{
"cell_type": "markdown",
- "id": "a8072593",
- "metadata": {},
+ "id": "187dfb80",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, independent variables\n",
"If $X_i$ and $X_j$ are independent, we get \n",
@@ -1444,8 +1564,10 @@
},
{
"cell_type": "markdown",
- "id": "5a7e9409",
- "metadata": {},
+ "id": "e03a7a5f",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, more variance\n",
"Since the variance is just $\\mathrm{var}(X_i) = \\mathrm{cov}(X_i, X_i)$, we get\n",
@@ -1454,8 +1576,10 @@
},
{
"cell_type": "markdown",
- "id": "b0827cfa",
- "metadata": {},
+ "id": "d29e9ca5",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1470,8 +1594,10 @@
},
{
"cell_type": "markdown",
- "id": "0b3bdfc5",
- "metadata": {},
+ "id": "b4baf0f6",
+ "metadata": {
+ "editable": true
+ },
"source": [
"And in the special case when the stochastic variables are\n",
"uncorrelated, the off-diagonal elements of the covariance are as we\n",
@@ -1480,8 +1606,10 @@
},
{
"cell_type": "markdown",
- "id": "52383e37",
- "metadata": {},
+ "id": "96ee711d",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathrm{var}(U)=\\sum_i a_i^2\\mathrm{cov}(X_i, X_i) = \\sum_i a_i^2 \\mathrm{var}(X_i),\n",
@@ -1490,16 +1618,20 @@
},
{
"cell_type": "markdown",
- "id": "ef4cd7b0",
- "metadata": {},
+ "id": "476e7381",
+ "metadata": {
+ "editable": true
+ },
"source": [
"and"
]
},
{
"cell_type": "markdown",
- "id": "81b21052",
- "metadata": {},
+ "id": "3f7ca529",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathrm{var}(\\sum_i a_i X_i) = \\sum_i a_i^2 \\mathrm{var}(X_i)\n",
@@ -1508,8 +1640,10 @@
},
{
"cell_type": "markdown",
- "id": "6b176024",
- "metadata": {},
+ "id": "1f4379b7",
+ "metadata": {
+ "editable": true
+ },
"source": [
"which will become very useful in our study of the error in the mean\n",
"value of a set of measurements."
@@ -1517,8 +1651,10 @@
},
{
"cell_type": "markdown",
- "id": "984bc899",
- "metadata": {},
+ "id": "4abdd76e",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics and stochastic processes\n",
"A *stochastic process* is a process that produces sequentially a\n",
@@ -1527,8 +1663,10 @@
},
{
"cell_type": "markdown",
- "id": "2102af12",
- "metadata": {},
+ "id": "0545b421",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\{x_1, x_2,\\dots\\,x_k,\\dots\\}.\n",
@@ -1537,8 +1675,10 @@
},
{
"cell_type": "markdown",
- "id": "0d14864b",
- "metadata": {},
+ "id": "9d2d86b8",
+ "metadata": {
+ "editable": true
+ },
"source": [
"We will call these\n",
"values our *measurements* and the entire set as our measured\n",
@@ -1556,8 +1696,10 @@
},
{
"cell_type": "markdown",
- "id": "eb7e7146",
- "metadata": {},
+ "id": "c806ed42",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics and sample variables\n",
"In practical situations a sample is always of finite size. Let that\n",
@@ -1566,8 +1708,10 @@
},
{
"cell_type": "markdown",
- "id": "d3376649",
- "metadata": {},
+ "id": "f567485a",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\bar{x}_n \\equiv \\frac{1}{n}\\sum_{k=1}^n x_k\n",
@@ -1576,16 +1720,20 @@
},
{
"cell_type": "markdown",
- "id": "0efde8df",
- "metadata": {},
+ "id": "ed2efdcf",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The *sample variance* is:"
]
},
{
"cell_type": "markdown",
- "id": "9911c9bb",
- "metadata": {},
+ "id": "687a3113",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathrm{var}(x) \\equiv \\frac{1}{n}\\sum_{k=1}^n (x_k - \\bar{x}_n)^2\n",
@@ -1594,8 +1742,10 @@
},
{
"cell_type": "markdown",
- "id": "550ca901",
- "metadata": {},
+ "id": "6b2b529b",
+ "metadata": {
+ "editable": true
+ },
"source": [
"its square root being the *standard deviation of the sample*. The\n",
"*sample covariance* is:"
@@ -1603,8 +1753,10 @@
},
{
"cell_type": "markdown",
- "id": "51ed53a4",
- "metadata": {},
+ "id": "334af3f9",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\mathrm{cov}(x)\\equiv\\frac{1}{n}\\sum_{kl}(x_k - \\bar{x}_n)(x_l - \\bar{x}_n)\n",
@@ -1613,8 +1765,10 @@
},
{
"cell_type": "markdown",
- "id": "fb01f2f3",
- "metadata": {},
+ "id": "bf1509e8",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, sample variance and covariance\n",
"Note that the sample variance is the sample covariance without the\n",
@@ -1631,8 +1785,10 @@
},
{
"cell_type": "markdown",
- "id": "d88f8573",
- "metadata": {},
+ "id": "e3997fdf",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, law of large numbers\n",
"The law of large numbers\n",
@@ -1642,8 +1798,10 @@
},
{
"cell_type": "markdown",
- "id": "6144afbf",
- "metadata": {},
+ "id": "c8232d08",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\lim_{n\\to\\infty}\\bar{x}_n = \\mu_X^{\\phantom X}\n",
@@ -1652,8 +1810,10 @@
},
{
"cell_type": "markdown",
- "id": "9ab77fa8",
- "metadata": {},
+ "id": "f28dbe3a",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The sample mean $\\bar{x}_n$ works therefore as an estimate of the true\n",
"mean $\\mu_X^{\\phantom X}$.\n",
@@ -1673,8 +1833,10 @@
},
{
"cell_type": "markdown",
- "id": "7dfc17ac",
- "metadata": {},
+ "id": "52685df5",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, more on sample error\n",
"Let us first take a look at what happens to the sample error as the\n",
@@ -1686,8 +1848,10 @@
},
{
"cell_type": "markdown",
- "id": "f1fe449a",
- "metadata": {},
+ "id": "17b667c8",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\overline X_n = \\frac{1}{n}\\sum_{i=1}^n X_i\n",
@@ -1696,8 +1860,10 @@
},
{
"cell_type": "markdown",
- "id": "ccb63cef",
- "metadata": {},
+ "id": "c597107c",
+ "metadata": {
+ "editable": true
+ },
"source": [
"All the coefficients are just equal $1/n$. The PDF of $\\overline X_n$,\n",
"denoted by $p_{\\overline X_n}(x)$ is the desired PDF of the sample\n",
@@ -1706,8 +1872,10 @@
},
{
"cell_type": "markdown",
- "id": "43d6b34b",
- "metadata": {},
+ "id": "3d2d0c07",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics\n",
"The probability density of obtaining a sample mean $\\bar x_n$\n",
@@ -1718,8 +1886,10 @@
},
{
"cell_type": "markdown",
- "id": "26cdc0fa",
- "metadata": {},
+ "id": "34766f17",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"p_{\\overline X_n}(x) = \\int p_X^{\\phantom X}(x_1)\\cdots\n",
@@ -1730,16 +1900,20 @@
},
{
"cell_type": "markdown",
- "id": "180b736d",
- "metadata": {},
+ "id": "53342f5a",
+ "metadata": {
+ "editable": true
+ },
"source": [
"And in particular we are interested in its variance $\\mathrm{var}(\\overline X_n)$."
]
},
{
"cell_type": "markdown",
- "id": "bc497962",
- "metadata": {},
+ "id": "9b5e9c80",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Statistics, central limit theorem\n",
"It is generally not possible to express $p_{\\overline X_n}(x)$ in a\n",
@@ -1753,8 +1927,10 @@
},
{
"cell_type": "markdown",
- "id": "94f0e9ad",
- "metadata": {},
+ "id": "8e5251c1",
+ "metadata": {
+ "editable": true
+ },
"source": [
"\n",
"\n",
@@ -1771,8 +1947,10 @@
},
{
"cell_type": "markdown",
- "id": "177a4e65",
- "metadata": {},
+ "id": "0fc50642",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Covariance example\n",
"\n",
@@ -1782,8 +1960,10 @@
},
{
"cell_type": "markdown",
- "id": "b8647838",
- "metadata": {},
+ "id": "d2f9a0c8",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\boldsymbol{\\Sigma} = \\begin{bmatrix} \\sigma_{xx} & \\sigma_{xy} & \\sigma_{xz} \\\\\n",
@@ -1795,16 +1975,20 @@
},
{
"cell_type": "markdown",
- "id": "1fb8ee64",
- "metadata": {},
+ "id": "8faf4662",
+ "metadata": {
+ "editable": true
+ },
"source": [
"where for example"
]
},
{
"cell_type": "markdown",
- "id": "459b5931",
- "metadata": {},
+ "id": "af30715f",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\sigma_{xy} =\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})(y_i- \\overline{y}).\n",
@@ -1813,8 +1997,10 @@
},
{
"cell_type": "markdown",
- "id": "996f5655",
- "metadata": {},
+ "id": "0a37e1be",
+ "metadata": {
+ "editable": true
+ },
"source": [
"The Numpy function **np.cov** calculates the covariance elements using\n",
"the factor $1/(n-1)$ instead of $1/n$ since it assumes we do not have\n",
@@ -1827,8 +2013,10 @@
},
{
"cell_type": "markdown",
- "id": "950e7dbc",
- "metadata": {},
+ "id": "54464f41",
+ "metadata": {
+ "editable": true
+ },
"source": [
"$$\n",
"\\boldsymbol{W} = \\begin{bmatrix} x_0 & y_0 & z_0 \\\\\n",
@@ -1843,8 +2031,10 @@
},
{
"cell_type": "markdown",
- "id": "2946ac65",
- "metadata": {},
+ "id": "52e31f84",
+ "metadata": {
+ "editable": true
+ },
"source": [
"which in turn is converted into into the $3\\times 3$ covariance matrix\n",
"$\\boldsymbol{\\Sigma}$ via the Numpy function **np.cov()**. We note that we can\n",
@@ -1856,31 +2046,23 @@
},
{
"cell_type": "markdown",
- "id": "3b643958",
- "metadata": {},
+ "id": "fa89bf2a",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Covariance in numpy"
]
},
{
"cell_type": "code",
- "execution_count": 12,
- "id": "858e99b8",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0.09163914747417538\n",
- "4.375115764185571\n",
- "0.6892618254093753\n",
- "[[ 1.3495844 4.03015049 4.44924571]\n",
- " [ 4.03015049 13.06494732 13.31433367]\n",
- " [ 4.44924571 13.31433367 22.33736214]]\n"
- ]
- }
- ],
+ "execution_count": 16,
+ "id": "9d21a1c1",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"# Importing various packages\n",
"import numpy as np\n",
@@ -1899,16 +2081,20 @@
},
{
"cell_type": "markdown",
- "id": "71d921e7",
- "metadata": {},
+ "id": "737f1bd2",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Practicalities, Useful Python Packages"
]
},
{
"cell_type": "markdown",
- "id": "5e4ede91",
- "metadata": {},
+ "id": "df198d83",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Meet the Pandas\n",
"\n",
@@ -1930,82 +2116,13 @@
},
{
"cell_type": "code",
- "execution_count": 13,
- "id": "4ec4aa9e",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " First Name | \n",
- " Last Name | \n",
- " Place of birth | \n",
- " Date of Birth T.A. | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " Frodo | \n",
- " Baggins | \n",
- " Shire | \n",
- " 2968 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " Bilbo | \n",
- " Baggins | \n",
- " Shire | \n",
- " 2890 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " Aragorn II | \n",
- " Elessar | \n",
- " Eriador | \n",
- " 2931 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " Samwise | \n",
- " Gamgee | \n",
- " Shire | \n",
- " 2980 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " First Name Last Name Place of birth Date of Birth T.A.\n",
- "0 Frodo Baggins Shire 2968\n",
- "1 Bilbo Baggins Shire 2890\n",
- "2 Aragorn II Elessar Eriador 2931\n",
- "3 Samwise Gamgee Shire 2980"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": 17,
+ "id": "600ab712",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import pandas as pd\n",
"from IPython.display import display\n",
@@ -2020,8 +2137,10 @@
},
{
"cell_type": "markdown",
- "id": "e2a3cdc5",
- "metadata": {},
+ "id": "ad6a38f9",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## Data Frames in Pandas\n",
"\n",
@@ -2033,82 +2152,13 @@
},
{
"cell_type": "code",
- "execution_count": 14,
- "id": "1cec5f2d",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " First Name | \n",
- " Last Name | \n",
- " Place of birth | \n",
- " Date of Birth T.A. | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Frodo | \n",
- " Frodo | \n",
- " Baggins | \n",
- " Shire | \n",
- " 2968 | \n",
- "
\n",
- " \n",
- " Bilbo | \n",
- " Bilbo | \n",
- " Baggins | \n",
- " Shire | \n",
- " 2890 | \n",
- "
\n",
- " \n",
- " Aragorn | \n",
- " Aragorn II | \n",
- " Elessar | \n",
- " Eriador | \n",
- " 2931 | \n",
- "
\n",
- " \n",
- " Sam | \n",
- " Samwise | \n",
- " Gamgee | \n",
- " Shire | \n",
- " 2980 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " First Name Last Name Place of birth Date of Birth T.A.\n",
- "Frodo Frodo Baggins Shire 2968\n",
- "Bilbo Bilbo Baggins Shire 2890\n",
- "Aragorn Aragorn II Elessar Eriador 2931\n",
- "Sam Samwise Gamgee Shire 2980"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": 18,
+ "id": "2befa1e2",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])\n",
"display(data_pandas)"
@@ -2116,130 +2166,46 @@
},
{
"cell_type": "markdown",
- "id": "79adee29",
- "metadata": {},
+ "id": "ca5f1c39",
+ "metadata": {
+ "editable": true
+ },
"source": [
"Thereafter we display the content of the row which begins with the index **Aragorn**"
]
},
{
"cell_type": "code",
- "execution_count": 15,
- "id": "526647ff",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "First Name Aragorn II\n",
- "Last Name Elessar\n",
- "Place of birth Eriador\n",
- "Date of Birth T.A. 2931\n",
- "Name: Aragorn, dtype: object"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": 19,
+ "id": "c4105f00",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"display(data_pandas.loc['Aragorn'])"
]
},
{
"cell_type": "markdown",
- "id": "2ddd01cc",
- "metadata": {},
+ "id": "9690a7aa",
+ "metadata": {
+ "editable": true
+ },
"source": [
"We can easily append data to this, for example"
]
},
{
"cell_type": "code",
- "execution_count": 16,
- "id": "8299fdd9",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " First Name | \n",
- " Last Name | \n",
- " Place of birth | \n",
- " Date of Birth T.A. | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Frodo | \n",
- " Frodo | \n",
- " Baggins | \n",
- " Shire | \n",
- " 2968 | \n",
- "
\n",
- " \n",
- " Bilbo | \n",
- " Bilbo | \n",
- " Baggins | \n",
- " Shire | \n",
- " 2890 | \n",
- "
\n",
- " \n",
- " Aragorn | \n",
- " Aragorn II | \n",
- " Elessar | \n",
- " Eriador | \n",
- " 2931 | \n",
- "
\n",
- " \n",
- " Sam | \n",
- " Samwise | \n",
- " Gamgee | \n",
- " Shire | \n",
- " 2980 | \n",
- "
\n",
- " \n",
- " Pippin | \n",
- " Peregrin | \n",
- " Took | \n",
- " Shire | \n",
- " 2990 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " First Name Last Name Place of birth Date of Birth T.A.\n",
- "Frodo Frodo Baggins Shire 2968\n",
- "Bilbo Bilbo Baggins Shire 2890\n",
- "Aragorn Aragorn II Elessar Eriador 2931\n",
- "Sam Samwise Gamgee Shire 2980\n",
- "Pippin Peregrin Took Shire 2990"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": 20,
+ "id": "51c3f637",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"new_hobbit = {'First Name': [\"Peregrin\"],\n",
" 'Last Name': [\"Took\"],\n",
@@ -2252,8 +2218,10 @@
},
{
"cell_type": "markdown",
- "id": "b400f59e",
- "metadata": {},
+ "id": "de931d19",
+ "metadata": {
+ "editable": true
+ },
"source": [
"## More Pandas\n",
"\n",
@@ -2263,289 +2231,13 @@
},
{
"cell_type": "code",
- "execution_count": 17,
- "id": "6ad49953",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " 0 | \n",
- " 1 | \n",
- " 2 | \n",
- " 3 | \n",
- " 4 | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " -1.749765 | \n",
- " 0.342680 | \n",
- " 1.153036 | \n",
- " -0.252436 | \n",
- " 0.981321 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 0.514219 | \n",
- " 0.221180 | \n",
- " -1.070043 | \n",
- " -0.189496 | \n",
- " 0.255001 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " -0.458027 | \n",
- " 0.435163 | \n",
- " -0.583595 | \n",
- " 0.816847 | \n",
- " 0.672721 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " -0.104411 | \n",
- " -0.531280 | \n",
- " 1.029733 | \n",
- " -0.438136 | \n",
- " -1.118318 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 1.618982 | \n",
- " 1.541605 | \n",
- " -0.251879 | \n",
- " -0.842436 | \n",
- " 0.184519 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 0.937082 | \n",
- " 0.731000 | \n",
- " 1.361556 | \n",
- " -0.326238 | \n",
- " 0.055676 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 0.222400 | \n",
- " -1.443217 | \n",
- " -0.756352 | \n",
- " 0.816454 | \n",
- " 0.750445 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " -0.455947 | \n",
- " 1.189622 | \n",
- " -1.690617 | \n",
- " -1.356399 | \n",
- " -1.232435 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " -0.544439 | \n",
- " -0.668172 | \n",
- " 0.007315 | \n",
- " -0.612939 | \n",
- " 1.299748 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " -1.733096 | \n",
- " -0.983310 | \n",
- " 0.357508 | \n",
- " -1.613579 | \n",
- " 1.470714 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " 0 1 2 3 4\n",
- "0 -1.749765 0.342680 1.153036 -0.252436 0.981321\n",
- "1 0.514219 0.221180 -1.070043 -0.189496 0.255001\n",
- "2 -0.458027 0.435163 -0.583595 0.816847 0.672721\n",
- "3 -0.104411 -0.531280 1.029733 -0.438136 -1.118318\n",
- "4 1.618982 1.541605 -0.251879 -0.842436 0.184519\n",
- "5 0.937082 0.731000 1.361556 -0.326238 0.055676\n",
- "6 0.222400 -1.443217 -0.756352 0.816454 0.750445\n",
- "7 -0.455947 1.189622 -1.690617 -1.356399 -1.232435\n",
- "8 -0.544439 -0.668172 0.007315 -0.612939 1.299748\n",
- "9 -1.733096 -0.983310 0.357508 -1.613579 1.470714"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 -0.175300\n",
- "1 0.083527\n",
- "2 -0.044334\n",
- "3 -0.399836\n",
- "4 0.331939\n",
- "dtype: float64\n",
- "0 1.069584\n",
- "1 0.965548\n",
- "2 1.018232\n",
- "3 0.793167\n",
- "4 0.918992\n",
- "dtype: float64\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " 0 | \n",
- " 1 | \n",
- " 2 | \n",
- " 3 | \n",
- " 4 | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 3.061679 | \n",
- " 0.117430 | \n",
- " 1.329492 | \n",
- " 0.063724 | \n",
- " 0.962990 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 0.264421 | \n",
- " 0.048920 | \n",
- " 1.144993 | \n",
- " 0.035909 | \n",
- " 0.065026 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 0.209789 | \n",
- " 0.189367 | \n",
- " 0.340583 | \n",
- " 0.667239 | \n",
- " 0.452553 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 0.010902 | \n",
- " 0.282259 | \n",
- " 1.060349 | \n",
- " 0.191963 | \n",
- " 1.250636 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 2.621102 | \n",
- " 2.376547 | \n",
- " 0.063443 | \n",
- " 0.709698 | \n",
- " 0.034047 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 0.878123 | \n",
- " 0.534362 | \n",
- " 1.853835 | \n",
- " 0.106431 | \n",
- " 0.003100 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 0.049462 | \n",
- " 2.082875 | \n",
- " 0.572069 | \n",
- " 0.666597 | \n",
- " 0.563167 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 0.207888 | \n",
- " 1.415201 | \n",
- " 2.858185 | \n",
- " 1.839818 | \n",
- " 1.518895 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 0.296414 | \n",
- " 0.446453 | \n",
- " 0.000054 | \n",
- " 0.375694 | \n",
- " 1.689345 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 3.003620 | \n",
- " 0.966899 | \n",
- " 0.127812 | \n",
- " 2.603636 | \n",
- " 2.162999 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " 0 1 2 3 4\n",
- "0 3.061679 0.117430 1.329492 0.063724 0.962990\n",
- "1 0.264421 0.048920 1.144993 0.035909 0.065026\n",
- "2 0.209789 0.189367 0.340583 0.667239 0.452553\n",
- "3 0.010902 0.282259 1.060349 0.191963 1.250636\n",
- "4 2.621102 2.376547 0.063443 0.709698 0.034047\n",
- "5 0.878123 0.534362 1.853835 0.106431 0.003100\n",
- "6 0.049462 2.082875 0.572069 0.666597 0.563167\n",
- "7 0.207888 1.415201 2.858185 1.839818 1.518895\n",
- "8 0.296414 0.446453 0.000054 0.375694 1.689345\n",
- "9 3.003620 0.966899 0.127812 2.603636 2.162999"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": 21,
+ "id": "a5e79c53",
+ "metadata": {
+ "collapsed": false,
+ "editable": true
+ },
+ "outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
@@ -2564,198 +2256,23 @@
},
{
"cell_type": "markdown",
- "id": "c1243846",
- "metadata": {},
+ "id": "cc8a1c21",
+ "metadata": {
+ "editable": true
+ },
"source": [
"Thereafter we can select specific columns only and plot final results"
]
},
{
"cell_type": "code",
- "execution_count": 18,
- "id": "b8544a35",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " First | \n",
- " Second | \n",
- " Third | \n",
- " Fourth | \n",
- " Fifth | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " -1.749765 | \n",
- " 0.342680 | \n",
- " 1.153036 | \n",
- " -0.252436 | \n",
- " 0.981321 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 0.514219 | \n",
- " 0.221180 | \n",
- " -1.070043 | \n",
- " -0.189496 | \n",
- " 0.255001 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " -0.458027 | \n",
- " 0.435163 | \n",
- " -0.583595 | \n",
- " 0.816847 | \n",
- " 0.672721 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " -0.104411 | \n",
- " -0.531280 | \n",
- " 1.029733 | \n",
- " -0.438136 | \n",
- " -1.118318 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 1.618982 | \n",
- " 1.541605 | \n",
- " -0.251879 | \n",
- " -0.842436 | \n",
- " 0.184519 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 0.937082 | \n",
- " 0.731000 | \n",
- " 1.361556 | \n",
- " -0.326238 | \n",
- " 0.055676 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 0.222400 | \n",
- " -1.443217 | \n",
- " -0.756352 | \n",
- " 0.816454 | \n",
- " 0.750445 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " -0.455947 | \n",
- " 1.189622 | \n",
- " -1.690617 | \n",
- " -1.356399 | \n",
- " -1.232435 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " -0.544439 | \n",
- " -0.668172 | \n",
- " 0.007315 | \n",
- " -0.612939 | \n",
- " 1.299748 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " -1.733096 | \n",
- " -0.983310 | \n",
- " 0.357508 | \n",
- " -1.613579 | \n",
- " 1.470714 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " First Second Third Fourth Fifth\n",
- "0 -1.749765 0.342680 1.153036 -0.252436 0.981321\n",
- "1 0.514219 0.221180 -1.070043 -0.189496 0.255001\n",
- "2 -0.458027 0.435163 -0.583595 0.816847 0.672721\n",
- "3 -0.104411 -0.531280 1.029733 -0.438136 -1.118318\n",
- "4 1.618982 1.541605 -0.251879 -0.842436 0.184519\n",
- "5 0.937082 0.731000 1.361556 -0.326238 0.055676\n",
- "6 0.222400 -1.443217 -0.756352 0.816454 0.750445\n",
- "7 -0.455947 1.189622 -1.690617 -1.356399 -1.232435\n",
- "8 -0.544439 -0.668172 0.007315 -0.612939 1.299748\n",
- "9 -1.733096 -0.983310 0.357508 -1.613579 1.470714"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0.08352721390288316\n",
- "\n",
- "Int64Index: 10 entries, 0 to 9\n",
- "Data columns (total 5 columns):\n",
- " # Column Non-Null Count Dtype \n",
- "--- ------ -------------- ----- \n",
- " 0 First 10 non-null float64\n",
- " 1 Second 10 non-null float64\n",
- " 2 Third 10 non-null float64\n",
- " 3 Fourth 10 non-null float64\n",
- " 4 Fifth 10 non-null float64\n",
- "dtypes: float64(5)\n",
- "memory usage: 480.0 bytes\n",
- "None\n",
- " First Second Third Fourth Fifth\n",
- "count 10.000000 10.000000 10.000000 10.000000 10.000000\n",
- "mean -0.175300 0.083527 -0.044334 -0.399836 0.331939\n",
- "std 1.069584 0.965548 1.018232 0.793167 0.918992\n",
- "min -1.749765 -1.443217 -1.690617 -1.613579 -1.232435\n",
- "25% -0.522836 -0.633949 -0.713163 -0.785061 0.087887\n",
- "50% -0.280179 0.281930 -0.122282 -0.382187 0.463861\n",
- "75% 0.441264 0.657041 0.861676 -0.205231 0.923602\n",
- "max 1.618982 1.541605 1.361556 0.816847 1.470714\n"
- ]
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "