有效的重新分配方式(random.shuffle)

时间:2019-01-23 10:11:16

标签: python numpy

所以,我目前的代码如下:

def shuffling(X,t):
    n = 100
    permute = list(range(n * 2))
    random.shuffle(permute)
    X = X[:, permute]
    t = t[permute]
    return X,t

X = 3 x 200和t = 200 x 1,我要做的是将这两个矩阵混洗,以使每一列最终以其对应的目标值作为t。我想用random.shuffle做到这一点,但是显然我不能为元素指定轴,而且我认为两次使用numpy转置看起来很丑陋,因为最终我需要X为3x200。有人对我该怎么做有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用np.random.permutation生成两个数组的随机索引:

import numpy as np

def shuffling(X,t):
    r = np.random.permutation(len(t))
    X = X[:, r]
    t = t[r]
    return X, t