np.random.shuffle(rand_arr)
时间: 2024-06-20 20:03:16 浏览: 173
`np.random.shuffle(rand_arr)`是一个numpy库中的函数,可以随机打乱给定数组的顺序。具体来说,`np.random.shuffle()`接收一个数组对象,并随机打乱该数组中元素的顺序,返回值为 None。该函数可以用于训练数据的随机排序、随机采样等需求中。下面是一个具体的例子:
<<引用:import numpy as np rand_arr = np.array([1, 2, 3, 4, 5]) np.random.shuffle(rand_arr) print(rand_arr)[^1]>>
该代码先导入numpy库,然后构造了一个包含1-5的数组`rand_arr`。接着,`np.random.shuffle()`函数被调用,打乱了该数组的元素排列。最后,用print()函数打印出了随机打乱之后的数组`rand_arr`。执行该代码,输出结果如下:
```
[2 4 1 5 3]
```
该结果表明原数组`rand_arr`已被随机打乱,随机的结果每次都不尽相同。
相关问题
np.random 的使用方法
`np.random` 是 NumPy 库中的一个模块,用于生成随机数和执行随机抽样操作。以下是一些常用的 `np.random` 方法及其使用方法:
1. **生成随机数**:
- `np.random.rand(d0, d1, ..., dn)`:生成一个形状为 `(d0, d1, ..., dn)` 的数组,数组中的元素是 `[0, 1)` 区间内的随机浮点数。
- `np.random.randn(d0, d1, ..., dn)`:生成一个形状为 `(d0, d1, ..., dn)` 的数组,数组中的元素是标准正态分布(均值为0,标准差为1)的随机浮点数。
- `np.random.randint(low, high, size)`:生成一个形状为 `size` 的数组,数组中的元素是 `[low, high)` 区间内的随机整数。
2. **随机抽样**:
- `np.random.choice(a, size=None, replace=True, p=None)`:从一维数组 `a` 中随机抽样,`size` 是抽样结果的形状,`replace` 表示是否有放回,`p` 是每个元素被抽中的概率。
- `np.random.permutation(x)`:返回数组 `x` 的一个随机排列。
3. **设置随机种子**:
- `np.random.seed(seed)`:设置随机数生成的种子,使得每次生成的随机数序列相同。
4. **随机打乱**:
- `np.random.shuffle(x)`:随机打乱数组 `x` 的元素顺序。
以下是一些示例代码:
```python
import numpy as np
# 设置随机种子
np.random.seed(42)
# 生成随机浮点数
print(np.random.rand(2, 3)) # 生成一个2x3的数组,元素在[0, 1)区间内
# 生成标准正态分布的随机浮点数
print(np.random.randn(2, 3)) # 生成一个2x3的数组,元素服从标准正态分布
# 生成随机整数
print(np.random.randint(0, 10, (2, 3))) # 生成一个2x3的数组,元素在[0, 10)区间内的随机整数
# 随机抽样
print(np.random.choice(['a', 'b', 'c'], size=5, replace=True)) # 从列表中随机抽样
# 随机打乱
arr = np.arange(10)
np.random.shuffle(arr)
print(arr) # 随机打乱后的数组
```
阅读全文