Update README.md
Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com>
This commit is contained in:
parent
85c0c01268
commit
ebee66aa1a
1 changed files with 88 additions and 1 deletions
|
@ -114,6 +114,79 @@ print(b.shape) # -> (10,)
|
||||||
c = np.r_[a, b]
|
c = np.r_[a, b]
|
||||||
print(c.shape) # -> (20,)
|
print(c.shape) # -> (20,)
|
||||||
```
|
```
|
||||||
|
### More r_
|
||||||
|
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
a = np.arange(0, 10)
|
||||||
|
print(a.shape) # -> (10,)
|
||||||
|
b = np.arange(0, 10)
|
||||||
|
print(b.shape) # -> (10,)
|
||||||
|
|
||||||
|
c = np.r_[a, b]
|
||||||
|
print(c.shape) # -> (20,)
|
||||||
|
c = np.r_["-1", a, b]
|
||||||
|
print(c.shape) # -> (20,)
|
||||||
|
c = np.r_["0, 2", a, b]
|
||||||
|
print(c.shape) # -> (2, 10)
|
||||||
|
c = np.r_["1, 2", a, b]
|
||||||
|
print(c.shape) # -> (1, 20)
|
||||||
|
|
||||||
|
c = np.r_["0, 1", a, b]
|
||||||
|
print(c.shape) # -> (20,)
|
||||||
|
c = np.r_["0, 2", a, b]
|
||||||
|
print(c.shape) # -> (2, 10)
|
||||||
|
c = np.r_["0, 3", a, b]
|
||||||
|
print(c.shape) # -> (2, 1, 10)
|
||||||
|
|
||||||
|
c = np.r_["r", a, b] # r == row
|
||||||
|
print(c.shape) # -> (1, 20)
|
||||||
|
c = np.r_["c", a, b] # c == column
|
||||||
|
print(c.shape) # -> (20, 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Producing index arrays with r_
|
||||||
|
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
idx = np.r_[2:10, 20:100, 10]
|
||||||
|
print(idx)
|
||||||
|
print(idx.shape) # -> (89,)
|
||||||
|
```
|
||||||
|
|
||||||
|
Output:
|
||||||
|
|
||||||
|
```python
|
||||||
|
[ 2 3 4 5 6 7 8 9 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
||||||
|
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
||||||
|
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
||||||
|
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 10]
|
||||||
|
```
|
||||||
|
|
||||||
|
**If we use idx for indexing a matrix/ array then we use indexing and not slicing.**
|
||||||
|
|
||||||
|
### Producing index arrays with [numpy.s_](https://numpy.org/doc/stable/reference/generated/numpy.s_.html)
|
||||||
|
|
||||||
|
```python
|
||||||
|
numpy.s_ = <numpy.lib.index_tricks.IndexExpression object>
|
||||||
|
```
|
||||||
|
> A nicer way to build up index tuples for arrays.
|
||||||
|
|
||||||
|
s_ is a simpler alternative to [slice](https://docs.python.org/dev/library/functions.html#slice):
|
||||||
|
|
||||||
|
```python
|
||||||
|
class slice(stop)
|
||||||
|
class slice(start, stop, step=None)
|
||||||
|
```
|
||||||
|
|
||||||
|
> Return a slice object representing the set of indices specified by range(start, stop, step). The start and step arguments default to None.
|
||||||
|
>
|
||||||
|
> Slice objects have read-only data attributes start, stop, and step which merely return the argument values (or their default). They have no other explicit functionality; however, they are used by NumPy and other third-party packages.
|
||||||
|
>
|
||||||
|
> Slice objects are also generated when extended indexing syntax is used. For example: a[start:stop:step] or a[start:stop, i].
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [numpy.c_](https://numpy.org/doc/stable/reference/generated/numpy.c_.html)
|
## [numpy.c_](https://numpy.org/doc/stable/reference/generated/numpy.c_.html)
|
||||||
|
@ -125,6 +198,20 @@ This is an optional topic!
|
||||||
numpy.c_ = <numpy.lib.index_tricks.CClass object>
|
numpy.c_ = <numpy.lib.index_tricks.CClass object>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> Translates slice objects to concatenation along the second axis.
|
||||||
|
>
|
||||||
|
> This is short-hand for np.r_['-1,2,0', index expression], which is useful because of its common occurrence. In particular, arrays will be stacked along their last axis after being upgraded to at least 2-D with 1’s post-pended to the shape (column vectors made out of 1-D arrays).
|
||||||
|
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
a = np.arange(0, 10)
|
||||||
|
print(a.shape) # -> (10,)
|
||||||
|
b = np.arange(0, 10)
|
||||||
|
print(b.shape) # -> (10,)
|
||||||
|
|
||||||
|
c = np.c_[a, b]
|
||||||
|
print(c.shape) # -> (10,2)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue