如何使用numpy对数组和矩阵进行排序

时间:2012-08-27 22:51:21

标签: python numpy

我有一个数组y和一个CSR稀疏的矩阵X

我需要随机排序y和X,其中y的每一行对应X中的一行。

使用NumPy,我该怎么做?

1 个答案:

答案 0 :(得分:2)

为了获得随机排序,您可以尝试使用np.random.shuffle函数。

# Create an array of indices
indices = np.arange(y.size)
# Randomize it
np.random.shuffle(indices)

现在,您可以使用indices通过精确的索引y随机化y_new = y[indices]

您可以使用相同的indices重新排序矩阵,但要小心,CSR矩阵不支持花式索引。您必须将其转换为LIL,重新排序,然后将其重新转换为CSR。