mirror of
https://github.com/davrot/pytutorial.git
synced 2025-06-06 04:00:03 +02:00
Update README.md
Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com>
This commit is contained in:
parent
f331bb0d47
commit
8eeebbbe4d
1 changed files with 85 additions and 0 deletions
|
@ -111,3 +111,88 @@ Output:
|
||||||
[[2 3 3 2 1 3 1 1 2 2]
|
[[2 3 3 2 1 3 1 1 2 2]
|
||||||
[3 3 2 3 3 2 3 3 1 3]]
|
[3 3 2 3 3 2 3 3 1 3]]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### choice
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
rng = np.random.default_rng()
|
||||||
|
p = np.array([1, 2, 3]).astype(np.float64)
|
||||||
|
p /= p.sum()
|
||||||
|
print(f"p: {p}")
|
||||||
|
random_values = rng.choice(a=p.shape[0], p=p, size=(2, 10))
|
||||||
|
print(random_values)
|
||||||
|
```
|
||||||
|
Output:
|
||||||
|
```
|
||||||
|
p: [0.16666667 0.33333333 0.5 ]
|
||||||
|
[[0 2 2 1 2 1 2 1 0 1]
|
||||||
|
[2 0 1 2 2 1 0 2 1 2]]
|
||||||
|
```
|
||||||
|
|
||||||
|
## [Permutations](https://numpy.org/doc/stable/reference/random/generator.html#permutations)
|
||||||
|
| | |
|
||||||
|
| ------------- |:-------------:|
|
||||||
|
|[shuffle(x[, axis])](https://numpy.org/doc/stable/reference/random/generated/numpy.random.Generator.shuffle.html#numpy.random.Generator.shuffle)|Modify an array or sequence in-place by shuffling its contents.|
|
||||||
|
|[permutation(x[, axis])](https://numpy.org/doc/stable/reference/random/generated/numpy.random.Generator.permutation.html#numpy.random.Generator.permutation)|Randomly permute a sequence, or return a permuted range.|
|
||||||
|
|[permuted(x[, axis, out])](https://numpy.org/doc/stable/reference/random/generated/numpy.random.Generator.permuted.html#numpy.random.Generator.permuted)|Randomly permute x along axis axis.|
|
||||||
|
|
||||||
|
|method |copy/in-place | [ axis handling](https://numpy.org/doc/stable/reference/random/generator.html#handling-the-axis-parameter) |
|
||||||
|
| ------------- |:-------------:|:-------------:|
|
||||||
|
|shuffle|in-place|as if 1d|
|
||||||
|
|permutation|copy|as if 1d|
|
||||||
|
|permuted|either (use ‘out’ for in-place)|axis independent|
|
||||||
|
|
||||||
|
### shuffle
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
rng = np.random.default_rng()
|
||||||
|
idx_randomized = np.arange(0, 10)
|
||||||
|
rng.shuffle(idx_randomized)
|
||||||
|
|
||||||
|
print(idx_randomized)
|
||||||
|
```
|
||||||
|
Output:
|
||||||
|
```
|
||||||
|
[0 2 8 9 5 4 3 6 1 7]
|
||||||
|
```
|
||||||
|
|
||||||
|
### permutation
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
rng = np.random.default_rng()
|
||||||
|
idx_randomized = rng.permutation(10)
|
||||||
|
|
||||||
|
print(idx_randomized)
|
||||||
|
```
|
||||||
|
Output:
|
||||||
|
```
|
||||||
|
[9 4 7 2 6 3 1 8 5 0]
|
||||||
|
```
|
||||||
|
|
||||||
|
### permuted
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
rng = np.random.default_rng()
|
||||||
|
idx = np.arange(0, 10)
|
||||||
|
|
||||||
|
idx_randomized = rng.permuted(idx)
|
||||||
|
|
||||||
|
print(idx_randomized)
|
||||||
|
```
|
||||||
|
Output:
|
||||||
|
```
|
||||||
|
[4 1 2 8 9 6 0 5 7 3]
|
||||||
|
```
|
||||||
|
## All Distributions
|
||||||
|
|
||||||
|
You need more distributions? [Go here.](https://numpy.org/doc/stable/reference/random/generator.html#distributions)
|
||||||
|
|
||||||
|
## Multithreaded Generation
|
||||||
|
|
||||||
|
The four core distribution (random, standard_normal, standard_exponential, and standard_gamma) can be used with multi-threading. Please look [here for an example](https://numpy.org/doc/stable/reference/random/multithreading.html#multithreaded-generation).
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue