最佳答案
如何在 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]]
输出对行进行洗牌,而不是对协议进行洗牌,例如:
[[ 0.45174186 0.8782033 ]
[ 0.48252164 0.12013048]
[ 0.77254355 0.74382174]
[ 0.75623083 0.71763107]
[ 0.23442518 0.39031414]
[ 0.26809253 0.75144034]]