仅按行进行整洁的随机多维数组,保持列顺序不变

发布于 2021-01-29 18:10:45

如何仅在Python中按行对多维数组进行混排(因此,请勿对列进行混排)。

我正在寻找最有效的解决方案,因为我的矩阵非常庞大。 是否还可以在原始阵列上高效执行此操作(以节省内存)?

例:

import numpy as np
X = np.random.random((6, 2))
print(X)
Y = ???shuffle by row only not colls???
print(Y)

我现在期望的是原始矩阵:

[[ 0.48252164  0.12013048]
 [ 0.77254355  0.74382174]
 [ 0.45174186  0.8782033 ]
 [ 0.75623083  0.71763107]
 [ 0.26809253  0.75144034]
 [ 0.23442518  0.39031414]]

输出将行而不是col随机播放,例如:

[[ 0.45174186  0.8782033 ]
 [ 0.48252164  0.12013048]
 [ 0.77254355  0.74382174]
 [ 0.75623083  0.71763107]
 [ 0.23442518  0.39031414]
 [ 0.26809253  0.75144034]]
关注者
0
被浏览
44
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    numpy.random.shuffle()是为了:

    >>> X = np.random.random((6, 2))
    >>> X
    array([[ 0.9818058 ,  0.67513579],
           [ 0.82312674,  0.82768118],
           [ 0.29468324,  0.59305925],
           [ 0.25731731,  0.16676408],
           [ 0.27402974,  0.55215778],
           [ 0.44323485,  0.78779887]])
    
    >>> np.random.shuffle(X)
    >>> X
    array([[ 0.9818058 ,  0.67513579],
           [ 0.44323485,  0.78779887],
           [ 0.82312674,  0.82768118],
           [ 0.29468324,  0.59305925],
           [ 0.25731731,  0.16676408],
           [ 0.27402974,  0.55215778]])
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看