📅  最后修改于: 2023-12-03 15:03:19.238000             🧑  作者: Mango
在 numpy 中,我们可以使用 numpy.random.permutation()
函数来随机交换行。该函数可以生成一个随机顺序的整数数组,然后我们可以使用该数组来重新排列原始矩阵的行。
以下是一个简单的例子,展示了如何使用 numpy.random.permutation()
函数随机交换矩阵的行:
import numpy as np
# 创建一个 5x5 的随机矩阵
matrix = np.random.rand(5, 5)
print("原始矩阵:")
print(matrix)
# 生成一个随机顺序的整数数组
row_order = np.random.permutation(5)
# 对原始矩阵的行按照随机顺序进行重新排列
matrix_permuted = matrix[row_order]
print("重新排列后的矩阵:")
print(matrix_permuted)
输出:
原始矩阵:
[[0.07131489 0.87712658 0.42609548 0.87309918 0.8709948 ]
[0.12940028 0.37539253 0.60837584 0.85073461 0.41891387]
[0.17850611 0.64198505 0.05940477 0.38258036 0.40369438]
[0.04769839 0.80150355 0.99854564 0.13219404 0.04862034]
[0.16456736 0.2408292 0.69505281 0.97547837 0.57386362]]
重新排列后的矩阵:
[[0.17850611 0.64198505 0.05940477 0.38258036 0.40369438]
[0.12940028 0.37539253 0.60837584 0.85073461 0.41891387]
[0.16456736 0.2408292 0.69505281 0.97547837 0.57386362]
[0.07131489 0.87712658 0.42609548 0.87309918 0.8709948 ]
[0.04769839 0.80150355 0.99854564 0.13219404 0.04862034]]
Markdown代码片段:
# Numpy 随机交换行 - Python
在 numpy 中,我们可以使用 `numpy.random.permutation()` 函数来随机交换行。该函数可以生成一个随机顺序的整数数组,然后我们可以使用该数组来重新排列原始矩阵的行。
以下是一个简单的例子,展示了如何使用 `numpy.random.permutation()` 函数随机交换矩阵的行:
```python
import numpy as np
# 创建一个 5x5 的随机矩阵
matrix = np.random.rand(5, 5)
print("原始矩阵:")
print(matrix)
# 生成一个随机顺序的整数数组
row_order = np.random.permutation(5)
# 对原始矩阵的行按照随机顺序进行重新排列
matrix_permuted = matrix[row_order]
print("重新排列后的矩阵:")
print(matrix_permuted)
输出:
原始矩阵:
[[0.07131489 0.87712658 0.42609548 0.87309918 0.8709948 ]
[0.12940028 0.37539253 0.60837584 0.85073461 0.41891387]
[0.17850611 0.64198505 0.05940477 0.38258036 0.40369438]
[0.04769839 0.80150355 0.99854564 0.13219404 0.04862034]
[0.16456736 0.2408292 0.69505281 0.97547837 0.57386362]]
重新排列后的矩阵:
[[0.17850611 0.64198505 0.05940477 0.38258036 0.40369438]
[0.12940028 0.37539253 0.60837584 0.85073461 0.41891387]
[0.16456736 0.2408292 0.69505281 0.97547837 0.57386362]
[0.07131489 0.87712658 0.42609548 0.87309918 0.8709948 ]
[0.04769839 0.80150355 0.99854564 0.13219404 0.04862034]]