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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。