From f56a492cab008e348f4451ba7e112fc7b99eebef Mon Sep 17 00:00:00 2001 From: David Rotermund <54365609+davrot@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:33:12 +0100 Subject: [PATCH] Create README.md Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com> --- numpy/slices_views/README.md | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 numpy/slices_views/README.md diff --git a/numpy/slices_views/README.md b/numpy/slices_views/README.md new file mode 100644 index 0000000..e27ac08 --- /dev/null +++ b/numpy/slices_views/README.md @@ -0,0 +1,38 @@ +# Slices and views +{:.no_toc} + + + +## The goal + +Sometimes we want to use or see only a part of the matrix. This can be done via slices and views + +Questions to [David Rotermund](mailto:davrot@uni-bremen.de) + +## Reminder + +We assume N as the number of elements and 1d:​ + +* A valid index starts at **0** and runs until N-1​ +* [start:stop:step] ​ + start = 1, stop=N, step=1 ​-> this results in the sequence​ 1,2,3,...,(N-1)​ +* [start:stop:1] can be shortened to [start:stop]​ +* [0:stop] can be shortened to [:stop]​ +* [start:N] can be shortened to [start:]​ +* B = A[:] or B = A[...] gives you a view of A. B has the same shape and size of A. ​ + +```python +import numpy as np + +a = np.arange(0, 10) +print(a[1:10:1]) # -> [1 2 3 4 5 6 7 8 9] +print(a[3:7:2]) # -> [3 5] +print(a[3:6]) # -> [3 4 5] +print(a[:6]) # -> [0 1 2 3 4 5] +print(a[5:]) # -> [5 6 7 8 9] +print(a[:]) # -> [0 1 2 3 4 5 6 7 8 9] +print(a[...]) # -> [0 1 2 3 4 5 6 7 8 9] +```