NumPy 随机生成器的 permutation(~) 方法返回一个新数组,其中的值已打乱。
注意
要就地打乱值,请使用 shuffle(~) 。
此外, permutation(~) 和 permuted(~) 之间的区别在于,前者对二维数组的行或列进行打乱,但 permuted(~) 独立于其他行或列对值进行打乱。请参阅下面的示例以进行说明。
参数
1.x | int 或 array-like
-
如果
x是int,则随机打乱并返回np.arange(x)。 -
如果
x是array-like,则返回一个具有随机打乱值的新数组。
2. axis | int | optional
执行洗牌的轴。默认情况下,axis=0 。
返回值
NumPy 数组。
例子
传递一个整数
要获取 [0,1,2,3,4] 的打乱数组:
import numpy as np
rng = np.random.default_rng(seed=42)
rng.permutation(5)
array([4, 2, 3, 1, 0])
请注意,这相当于 rng.permutation(np.arange(5)) 。
传入一个数组
随机打乱数字数组:
rng = np.random.default_rng(seed=42)
rng.permutation([5,2,6,1])
array([1, 6, 2, 5])
请注意,打乱一维数组时,行为与 permuted(~) 完全相同。
设定轴
考虑以下二维数组:
x = np.arange(12).reshape((3,4))
x
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
打乱行顺序
默认情况下, axis=0 ,这意味着行被随机打乱(在二维数组中):
rng = np.random.default_rng(seed=42)
rng.permutation(x) # axis=0
array([[ 8, 9, 10, 11],
[ 4, 5, 6, 7],
[ 0, 1, 2, 3]])
洗牌列
随机打乱二维数组的列:
rng = np.random.default_rng(seed=42)
rng.permutation(x, axis=1)
array([[ 3, 2, 1, 0],
[ 7, 6, 5, 4],
[11, 10, 9, 8]])
相关用法
- Python NumPy Random Generator permuted方法用法及代码示例
- Python NumPy Random Generator uniform方法用法及代码示例
- Python NumPy Random Generator shuffle方法用法及代码示例
- Python NumPy Random seed方法用法及代码示例
- Python Django RandomUUID用法及代码示例
- Python Random.Choices()用法及代码示例
- Python Django RangeOperators用法及代码示例
- Python PIL RankFilter()用法及代码示例
- Python Django Radians用法及代码示例
- Python Django RawSQL用法及代码示例
- Python Django RadioSelect用法及代码示例
- Python PySpark RDD zip方法用法及代码示例
- Python PySpark RDD collect方法用法及代码示例
- Python Django Response.json用法及代码示例
- Python Django Repeat用法及代码示例
- Python PySpark RDD repartition方法用法及代码示例
- Python Django RelatedManager.set用法及代码示例
- Python RLock acquire()用法及代码示例
- Python Django RelatedManager.remove用法及代码示例
- Python PySpark RDD countByKey方法用法及代码示例
- Python PySpark RDD partitionBy方法用法及代码示例
- Python PySpark RDD reduceByKey方法用法及代码示例
- Python Django RequestContext用法及代码示例
- Python Django Reverse用法及代码示例
- Python PySpark RDD coalesce方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy Random Generator | permutation method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
