已知一个矩阵,现在我需要对它的行进行标准化,即均值为0方差为1,请写出python代码
时间: 2024-10-20 09:03:58 浏览: 24
均值、方差、标准差的python代码
5星 · 资源好评率100%
在Python中,我们可以使用NumPy库来实现矩阵的行标准化(z-score标准化),其步骤包括计算每行的平均值和标准差,然后将每行减去平均值并除以标准差。以下是相应的代码:
```python
import numpy as np
def row_normalize(matrix):
# 确保输入是一个二维数组(矩阵)
if matrix.ndim != 2:
raise ValueError("Input must be a 2D array (matrix)")
# 计算每行的均值和标准差
mean = np.mean(matrix, axis=1)
std_dev = np.std(matrix, axis=1)
# 使用 broadcasting 将一维数组应用到每一行
normalized_matrix = (matrix - mean[:, None]) / std_dev[:, None]
return normalized_matrix
# 示例:
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
normalized_matrix = row_normalize(matrix)
print(normalized_matrix)
阅读全文