实现两个numpy数组按相同顺序打乱
假如有一个样本矩阵X(m,n),标签向量Y(m)
考虑到相邻向量的影响,对样本矩阵进行行向量的顺序打乱(shuffle)。
那么如何对应的打乱向量Y。
解决方法
将标签向量Y加入到X中,作为最后一列,打乱完成后,再分离出来。
代码
import numpy as np
x = np.random.randint(0,5,(4,3)) # 4*3
y = np.random.randint(0,5,4) # 1*4
c = np.column_stack((x,y)) # 将y添加到x的最后一列 4*4
np.random.shuffle(c)
x = c[:,:-1] # 乱序后的x
y = c[:,-1] # 同等乱序后的y