gpt4 book ai didi

python - shuffle vs permute numpy

转载 作者:IT老高 更新时间:2023-10-28 21:44:47 26 4
gpt4 key购买 nike

numpy.random.shuffle(x)numpy.random.permutation(x)有什么区别?

我已经阅读了文档页面,但是当我只想随机打乱数组的元素时,我无法理解两者之间是否有任何区别。

更准确地说,假设我有一个数组 x=[1,4,2,8]

如果我想生成x的随机排列,那么shuffle(x)permutation(x)有什么区别?

最佳答案

np.random.permutationnp.random.shuffle 有两个不同:

  • 如果传递一个数组,它会返回一个打乱后的数组副本np.random.shuffle 就地打乱数组
  • 如果传递一个整数,它将返回一个打乱的范围,即 np.random.shuffle(np.arange(n))

If x is an integer, randomly permute np.arange(x). If x is an array, make a copy and shuffle the elements randomly.

源代码可能有助于理解这一点:

3280        def permutation(self, object x):
...
3307 if isinstance(x, (int, np.integer)):
3308 arr = np.arange(x)
3309 else:
3310 arr = np.array(x)
3311 self.shuffle(arr)
3312 return arr

关于python - shuffle vs permute numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15474159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com