我有一个包含行的长度超过 10,000,000 的大型数组。我需要单独洗牌这些行。例如:
[[1,2,3]
[1,2,3]
[1,2,3]
...
[1,2,3]]
to
[[3,1,2]
[2,1,3]
[1,3,2]
...
[1,2,3]]
我目前正在使用
map(numpy.random.shuffle, array)
但这是一个 python(不是 NumPy)循环,它占用了我 99% 的执行时间。遗憾的是,PyPy JIT 没有实现numpypy.random
,所以我运气不好。有没有更快的方法?我愿意使用任何图书馆(pandas
, scikit-learn
, scipy
, theano
等等,只要它使用 Numpyndarray
或衍生品。)
如果没有,我想我会求助于 Cython 或 C++。