📜  numpy 随机交换行 - Python (1)

📅  最后修改于: 2023-12-03 15:03:19.238000             🧑  作者: Mango

Numpy 随机交换行 - Python

在 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]]