我有一个numpy数组,如下所示:
Xtrain = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [1, 7, 3]])我想对每一行的项目分别进行混洗,但不希望每一行的混洗都是相同的(就像在几个示例中一样,只是混洗列的顺序)。
例如,我需要如下所示的输出:
output = np.array([[3, 2, 1],
                   [4, 6, 5],
                   [7, 3, 1]])如何以有效的方式随机地对每一行进行随机洗牌?我实际的np数组有超过100000行和1000列。
发布于 2020-11-19 10:48:31
您可以使用Pandas
df = pd.DataFrame(X_train)
_ = df.apply(lambda x: np.random.shuffle(x.values), axis=1, raw=False)
df.values如果要混洗列,请将关键字更改为axis=0。
https://stackoverflow.com/questions/50554272
复制相似问题