np.random.Generator#shuffle就地打乱numpy数组。我如何在不改变原始数组的情况下 Shuffle 一个numpy数组?
np.random.Generator#shuffle
wz8daaqr1#
可以使用permutedGenerator方法。比如说
permuted
Generator
In [6]: rng = np.random.default_rng() In [7]: x = np.arange(10) In [8]: x Out[8]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
创建x的随机混洗副本:
x
In [9]: rng.permuted(x) Out[9]: array([3, 5, 8, 0, 4, 6, 7, 2, 1, 9])
检查x是否未更改:
In [10]: x Out[10]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
e5nqia272#
使用np.random.Generator#permutation来随机排列数组而不进行突变:
np.random.Generator#permutation
from numpy.random import default_rng rng = default_rng()
import numpy as np x = np.arange(10) #=> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) shuffled_x = x[rng.permutation(x.size)] #=> array([5, 6, 2, 3, 4, 1, 9, 7, 0, 8])
2条答案
按热度按时间wz8daaqr1#
可以使用
permuted
Generator
方法。比如说
创建
x
的随机混洗副本:检查
x
是否未更改:e5nqia272#
使用
np.random.Generator#permutation
来随机排列数组而不进行突变: