所谓按行或列计算平均值,就是计算矩阵中每一行或每一列的平均值。

alt

标准代码如下

def calculate_matrix_mean(matrix: List[List[Union[int, float]]], mode: str) -> List[float]:
    if mode == 'column':
        return [sum(col) / len(matrix) for col in zip(*matrix)]
    elif mode == 'row':
        return [sum(row) / len(row) for row in matrix]
    else:
        raise ValueError("Mode must be 'row' or 'column'")

当然也可以使用numpy库的mean方法简化计算

def calculate_matrix_mean(matrix: List[List[Union[int, float]]], mode: str) -> List[float]:
    import numpy as np
    if mode == 'column':
        return np.mean(matrix, axis=0).tolist()
    elif mode == 'row':
        return np.mean(matrix, axis=1).tolist()
    else:
        raise ValueError("Mode must be 'row' or 'column'")

需要注意的是,numpy中通过axis指定计算的维度,axis=0表示按列计算,axis=1表示按行计算,这是由于numpy库的特性决定的,在numpy中,一维数组是以列向量存储的。