np.random.permutation()函数和random.shuffle()函数的区别
时间: 2023-11-21 09:35:26 浏览: 47
np.random.permutation()函数和random.shuffle()函数都可以随机打乱数组或列表的顺序,但是它们有一些不同之处。
np.random.permutation()函数返回一个新的打乱顺序后的数组或列表副本,不会改变原始对象的顺序。
而random.shuffle()函数直接修改原始对象,不返回任何值。
此外,np.random.permutation()函数可以随机打乱多维数组的行或列,而random.shuffle()函数只能用于一维列表。
相关问题
np.random.shuffle函数
np.random.shuffle函数是numpy.random库中的一个函数,用于随机打乱数组的元素顺序。它可以直接在原数组上进行操作,改变原来数组的顺序,没有返回值。使用方法是导入numpy.random模块,然后通过numpy.random.shuffle()调用该函数。例如,对一个一维数组进行重新排序的代码如下:
import numpy as np
arr = np.arange(10)
np.random.shuffle(arr)
print(arr)
这段代码会将arr数组的元素顺序随机打乱,并输出打乱后的数组。注意,np.random.shuffle()函数只适用于一维数组,如果要对二维数组进行打乱操作,可以使用numpy.random.permutation()函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【Numpy】中np.random.shuffle()与np.random.permutation()的用法和区别](https://blog.csdn.net/lemonxiaoxiao/article/details/109239996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [numpy.random.shuffle打乱顺序函数](https://blog.csdn.net/qq_35091353/article/details/112797653)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
np.random.permutation
引用中提到了np.random.permutation函数,它用于对给定的数组进行重新排列。这个函数可以直接生成一个随机排列的数组,也可以对一维或多维数组进行随机排序。在一维数组中,np.random.permutation函数会返回一个随机排序后的新数组。在多维数组中,该函数只会对第一维进行随机排序,即对行进行随机排序。
与np.random.shuffle函数相比,np.random.permutation不会改变自身数组,而是返回一个新的随机排列后的数组。所以它们的区别在于是否改变原数组。
以下是一个使用np.random.permutation函数的示例:
```
import numpy as np
# 对一维数组进行随机排序
data = np.array([1, 2, 3, 4, 5, 6, 7])
a = np.random.permutation(data)
print(a)
# 对多维数组进行随机排序
arr = np.arange(9).reshape((3, 3))
arr2 = np.random.permutation(arr)
print(arr2)
```
在上述示例中,我们分别对一维数组data和二维数组arr进行了随机排序,并打印出结果。可以看到,生成的新数组是经过随机排序的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [np.random.permutation函数](https://blog.csdn.net/qq_45288176/article/details/125117426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [【Numpy】中np.random.shuffle()与np.random.permutation()的用法和区别](https://blog.csdn.net/lemonxiaoxiao/article/details/109239996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)