我有两个配对的数组,这意味着两个数组中的元素 1 需要具有相同的索引。我想排列这些元素。目前,我尝试了 np.random.permutation 但似乎没有得到正确的答案。
例如,如果两个数组是 [1,2,3] 和 [4,5,6],一种可能的排列是 [4,2,3] 和 [1,5,6]。
最佳答案
您可以堆叠
您的数组并使用choice
为每一行选择一个随机列。
设置
a = np.array([1,2,3])
b = np.array([4,5,6])
v = np.column_stack((a,b))
# array([[1, 4],
# [2, 5],
# [3, 6]])
np.random.seed(1)
choices = np.random.choice(v.shape[1], v.shape[0])
# array([1, 1, 0])
最后,要索引:
v[np.arange(v.shape[0]), choices]
array([4, 5, 3])
关于python - 在python中的一行内排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53472842/