我有两个 2d numpy 列表。我想洗牌,但只是外侧洗牌。
如果我随机排列列表 a 的顺序,我希望列表 b 遵循列表 a 的顺序。
我见过在Python中随机化两个列表并保持顺序但这看起来对我不起作用。
下面的代码是我现在正在做的事情。
但对于大型 numpy 列表来说太慢了。
import numpy as np
import random
a = np.array([[1,2,3], [4,5,6], [7,8,9], [10,11,12]])
b = np.array([[100,200,300,400,500], [600,700,800,900,901], [101,102,103,104,105], [501,502,503,504,505]])
r = [i for i in range(4)]
random.shuffle(r)
newa = np.empty((0, 3))
newb = np.empty((0, 5))
for rr in r:
newa = np.append(newa, [a[rr]], axis=0)
newb = np.append(newb, [b[rr]], axis=0)
print(newa)
print(newb)
有任何Pythonic或更快的方法来做到这一点吗?
感谢您的回答。