np.random.shuffle(x)与np.random.permutation(x)

 

将数组打乱随机排列 两种方法:

  1. np.random.shuffle(x):在原数组上进行,改变自身序列,无返回值。
  2. np.random.permutation(x):不在原数组上进行,返回新的数组,不改变自身数组。

 

1. np.random.shuffle(x)

(1)、一维数组

import numpy as np

arr = np.arange(10)
print(arr)

np.random.shuffle(arr)
print(arr)

(2)、对多维数组进行打乱排列时,默认是列维度。

arr = np.arange(12).reshape(3,4)
print(arr)

np.random.shuffle(arr)
print(arr)

 

2. np.random.permutation(x)

(1)、可直接生成一个随机排列的数组

np.random.permutation(10)

(2)、一维数组

np.random.permutation([1, 4, 9, 12, 15])

(3)、多维数组

arr = np.arange(9).reshape((3, 3))
print(arr)

arr2 = np.random.permutation(arr)
print(arr)
print(arr2)

 

3. 区别

从代码可以看出,np.random.shuffle(x)改变自身数组,np.random.permutation(x)不改变自身数组。

 

 

来自:https://blog.csdn.net/brucewong0516/article/details/79012233

 

posted @   做梦当财神  阅读(10136)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示