python - 对二维 numpy 数组中的每一行应用相同的排列

标签 python arrays algorithm numpy

要置换一维数组 A 我知道您可以运行以下代码:

import numpy as np
A = np.random.permutation(A)

我有一个二维数组,想对数组的每一行应用完全相同的排列。有什么方法可以指定 numpy 为你做这件事吗?

最佳答案

为 A 中的列数生成随机排列并索引到 A 的列中,就像这样 -

A[:,np.random.permutation(A.shape[1])]

sample 运行-

In [100]: A
Out[100]: 
array([[3, 5, 7, 4, 7],
       [2, 5, 2, 0, 3],
       [1, 4, 3, 8, 8]])

In [101]: A[:,np.random.permutation(A.shape[1])]
Out[101]: 
array([[7, 5, 7, 4, 3],
       [3, 5, 2, 0, 2],
       [8, 4, 3, 8, 1]])

关于python - 对二维 numpy 数组中的每一行应用相同的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32748678/

相关文章:

python - 如何比快速排序更快地对整数数组进行排序?

python - 集合是否像没有值的字典一样工作?

python - 如何创建带有图像和文本的复选按钮?

python - 使用 docker-compose 启动 Jupyter Notebook 时激活 Docker 容器内的 conda env

Javascript循环遍历数组异步

javascript - JavaScript 中 new Array() 的未定义值

c - 查找重复项和次数

python - 最高有效字节计算

algorithm - 比较函数的边界

以最有效的方式比较两个字符串数组