我有两个numpy数组。我想同时只对它们的行索引进行洗牌。虽然我对它们的行索引进行了均衡,然后当我改变它为什么它不会自动改变b
时 a = np.arange(100).reshape(10,10)
b = np.arange(10).reshape(10,1)
a.shape[0]==b.shape[0]
np.random.shuffle(a)
print a
print b
答案 0 :(得分:0)
这没有任何意义,你想做的事情可能会如下所示:
a = np.arange(100).reshape(10,10)
b = np.arange(10).reshape(10,1)
p = np.random.permutation(a.shape[0])
a = a[p]
b = b[p]
print a
print b
答案 1 :(得分:0)
你不能通过这种方式与两个$http.get('url.jsp', data).then(successCallback, errorCallback);
数组结合,以强制它们保持相同的顺序。你可以做的是将订单保存在一个单独的数组中,然后按它排序。
numpy
答案 2 :(得分:0)
signIn.scopes = @[ kGTLAuthScopePlusLogin,@"profile"];
虽然numpy.random.shuffle
对数组进行了就地排序,但在我的代码的最后两行中,只创建了一个所谓的import numpy as np
a = np.arange(100).reshape(10,10)
b = np.arange(10).reshape(10,1)
perm = np.random.permutation(a.shape[0])
print(a[perm, :])
print(b[perm, :])
数组view
和a
。如果您之后检查b
和a
,它们仍然是相同的。因此,如果您想使用随机播放的版本,则应使用b
或a = a[perm, :]
之类的内容。