numpy permutation
时间: 2023-06-18 17:08:38 浏览: 62
`numpy.permutation`函数可以对给定的数组进行随机重排。它返回一个新的打乱顺序的数组,不会改变原始数组。用法如下:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
np.random.permutation(arr)
```
输出:
```
array([3, 1, 5, 4, 2])
```
如果传入一个整数n,`numpy.permutation(n)`将返回一个包含0到n-1的整数的随机排列。例如:
```python
np.random.permutation(5)
```
输出:
```
array([4, 0, 3, 1, 2])
```
可以看到,返回的数组包含了0到4的整数,但顺序是随机的。
相关问题
numpy.random.permutation
`numpy.random.permutation`函数可以对一个数组进行随机重排,返回一个新的随机排列的数组,但不改变原数组。可以用于数据集的随机打乱等场景。
例如,对于一个长度为10的数组,可以这样随机重排:
``` python
import numpy as np
arr = np.arange(10)
np.random.permutation(arr)
```
输出:
```
array([7, 0, 6, 1, 5, 4, 8, 3, 2, 9])
```
可以看到,原来的数组 `[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]` 被随机重排成了新的数组。
numpy.random.seed和numpy.random.permutation有什么区别
`numpy.random.seed` 和 `numpy.random.permutation` 都是 numpy.random 模块中的函数,但它们的作用不同。
`numpy.random.seed` 是一个设置随机数种子的函数,用于生成伪随机数序列。在使用伪随机数生成器时,如果不设置随机数种子,每次生成的随机数序列都是不同的,而且是随机的。但是,如果设置了随机数种子,每次生成的随机数序列都是相同的,因此可以控制伪随机数序列的生成。例如,可以使用 `numpy.random.seed(0)` 来设置随机数种子为 0。
`numpy.random.permutation` 是一个随机排列函数,用于将输入的数组随机排列。例如,`numpy.random.permutation([1, 2, 3])` 可以生成一个随机的排列,例如 `[3, 1, 2]`。
因此,`numpy.random.seed` 和 `numpy.random.permutation` 的作用不同。`numpy.random.seed` 用于控制随机数生成器的行为,而 `numpy.random.permutation` 用于随机排列输入的数组。