当前位置: 首页 > 面试题库 >

随机播放vs置换numpy

宋博易
2023-03-14
问题内容

numpy.random.shuffle(x)和之间有什么区别numpy.random.permutation(x)

我已经阅读了文档页面,但是当我只想随机地对数组元素进行随机排列时,我不明白两者之间是否有任何区别。

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

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


问题答案:

np.random.permutation与以下内容有两个区别np.random.shuffle

  • 如果传递了数组,它将返回该数组的改组后的 副本np.random.shuffle将数组改组到位
  • 如果传递一个整数,它将返回一个改组范围,即 np.random.shuffle(np.arange(n))

如果x是整数,则随机置换np.arange(x)。如果x是一个数组,请进行复制并随机随机排列这些元素。

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

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


 类似资料:
  • 问题内容: 我有以下DataFrame: 从csv文件读取DataFrame。所有具有1的行都位于最上面,然后是具有2的行,然后是具有3的行,依此类推。 我想重新整理DataFrame行的顺序,以便将所有行混合在一起。可能的结果可能是: 我该如何实现? 问题答案: 使用Pandas的惯用方式是使用数据框的方法对所有行进行采样而无需替换: 的关键字参数指定的行的分数到随机样品中返回,所以装置返回所有

  • 问题内容: 我有一个像这样的数组: 如何将其随机/随机播放? 问题答案: 实际无偏混洗算法是Fisher-Yates(aka Knuth)。

  • 问题内容: 我试图将以下Python代码转换为Go 但是我发现Go版本冗长而笨拙,因为没有shuffle函数,我不得不实现接口和转换类型。 什么是我的代码的惯用Go版本? 问题答案: 由于列表只是1到25之间的整数,因此可以使用Perm: 请注意,使用由给定的置换是重新排列任何数组的有效方法。

  • 我正在尝试优化我的火花应用工作。 我试图理解这个问题的要点:如何在唯一键上连接数据帧时避免混乱? > 我已经确保必须发生加入操作的键分布在同一分区中(使用我的自定义分区程序)。 我也不能做广播加入,因为我的数据可能会根据情况变大。 在上面提到的问题的答案中,重新分区只优化了连接,但我需要的是无需切换即可连接。在分区内的键的帮助下,我对连接操作很满意。 有可能吗?如果不存在类似的功能,我想实现像jo

  • 我需要你的帮助。我正在开发一个android应用程序,我需要从sd卡中随机播放一首歌。我尝试了这种方式: 使用这种方法,我从文件夹中随机选择一首歌曲(此文件夹仅包含mp3文件)。 然后我用这个方法播放提取的歌曲: 我想知道如何使用MediaPlayer播放智能手机sd卡上的歌曲

  • 如何在按钮点击时发出随机的声音? 我对编程世界很陌生,我以前检查过上面的链接,试图用它作为播放随机声音的参考。我使用SoundPool因为我知道它比MediaPlayer更擅长播放短片段。我总共有四个声音。