【发布时间】:2014-07-16 22:44:26
【问题描述】:
我有一个名为 coefficients 的 NxM 矩阵,我想对其进行排序:
import numpy
N = 10
M = 42
coefficients = numpy.random.uniform(size=(N, M))
我有一个名为order 的数组,其中包含N 元素,它表示coefficients 的行应该处于的顺序:
order = numpy.random.choice(range(N), N, False)
我正在通过排序order对coefficients进行排序:
coefficients = numpy.array([mag for (orig, mag)
in sorted(zip(order, coefficients),
key=lambda pair: pair[0])])
这行得通,但它可能比它应该的要慢。如果这是一维的,我会使用fromiter,但我不知道如何解决这个问题,因为它是二维的。我可以在这里进行优化吗?
【问题讨论】:
标签: python arrays optimization numpy