NumPy Random 的 shuffle(~)
方法会就地随机打乱 NumPy 数组。
注意
要获取新的打乱值数组,请改用 permutation(~)
。
参数
1.x
| NumPy array
或 MutableSequence
要洗牌的数组。
2. axis
| int
| optional
要洗牌的轴。默认情况下,axis=0
。
返回值
None
- 此操作就地完成。
例子
基本用法
考虑以下 NumPy 数组:
import numpy as np
x = np.arange(10)
x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
要打乱此 NumPy 数组:
rng = np.random.default_rng()
rng.shuffle(x)
x
array([4, 0, 2, 9, 6, 3, 1, 5, 8, 7])
请注意Shuffle[洗牌]是如何就地完成的。
设定轴
考虑以下二维数组:
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.shuffle(x) # axis=0
x
array([[ 8, 9, 10, 11],
[ 4, 5, 6, 7],
[ 0, 1, 2, 3]])
要打乱列,请设置 axis=1
:
rng.shuffle(x, axis=1)
x
array([[ 2, 0, 3, 1],
[ 6, 4, 7, 5],
[10, 8, 11, 9]])
设置种子
为了能够重现随机性,请像这样设置种子:
rng = np.random.default_rng(seed=42)
x = np.arange(10)
rng.shuffle(x)
x
array([5, 6, 0, 7, 3, 2, 4, 9, 1, 8])
相关用法
- Python NumPy Random Generator uniform方法用法及代码示例
- Python NumPy Random Generator permuted方法用法及代码示例
- Python NumPy Random Generator permutation方法用法及代码示例
- 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 | shuffle method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。