![]() |
1
2
我们可以沿着第一个轴生成所有无序索引,然后简单地使用
因此,我们将有一个这样的矢量化实现-
1) 输入4D阵列:
2) 使用拟议方法沿第一轴索引生成的随机索引:
仔细观察,我们会发现
运行时测试
在大尺寸情况下,创建随机阵列的成本被证明是该方法的瓶颈,但仍显示出比原始循环版本有很好的加速。 |
![]() |
2
2
我添加这个作为一个答案,因为它不适合评论,因为它只是@Divakar的优秀答案之上的一个小添加:
与OP的提案相比:
顺便提一下,我提出的修改更容易扩展到n维阵列和任意洗牌轴,例如:
编辑 再次访问 ...时间安排并不比随机化更糟糕:
这应该是该问题任何解决方案性能的某种下限(但它不能解决OP问题)。 |
![]() |
serlingpa · 如何准备我的数据以避免无法推断频率 1 年前 |
![]() |
Guillaume · 使用操作从Python列表创建numpy数组 2 年前 |
![]() |
mikanim · 改进二维余弦函数的numpy功能 2 年前 |
![]() |
Klimt865 · 在Python中将数组列表转换为列表列表 2 年前 |
![]() |
Lynn · 如果列包含Python中的特定字符串,则从列中删除值 2 年前 |
![]() |
Jan Hrubec · 选择numpy数组的前n个元素 2 年前 |