为什么numpy随机shuffle不能在numpy数组上工作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么numpy随机shuffle不能在numpy数组上工作?相关的知识,希望对你有一定的参考价值。

这是我的示例代码:

ah = np.linspace(1, 20, 20)
print(ah)
>>> [  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.  11.  12.  13.  14.  15.
      16.  17.  18.  19.  20.]

print(np.random.shuffle(ah))
>>> None

According to the docs,输入应该是数组或列表。为什么上面的示例代码不起作用?

答案

重新洗牌是在位,重新洗牌功能不会返回任何东西:

Test Code:

ah = np.linspace(1, 20, 20)
print(ah)
print(np.random.shuffle(ah))
print(ah)

Results:

[  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.  11.  12.  13.  14.  15.
  16.  17.  18.  19.  20.]

None

[  5.  15.  13.   8.   1.   2.  18.   7.  14.   4.  10.   6.  17.  11.  16.
  19.  12.   3.  20.   9.]

以上是关于为什么numpy随机shuffle不能在numpy数组上工作?的主要内容,如果未能解决你的问题,请参考以下文章

005.Numpy的随机数操作

numpy random.shuffle()和random.permutation()

Numpy笔记 · Permutation

Numpy笔记 · Permutation

Numpy random

为啥 numpy.random 和 multiprocessing 不能很好玩? [复制]