You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对数组的行与列平均值进行排序?附行/列平均值计算需求

计算二维列表的行/列平均值及排序实现

行平均值计算

遍历每个子列表,对单个子列表求和后除以元素个数即可得到该行的平均值,用列表推导式可快速实现:

data = [[126, 91, 43],
        [534, 59, 148],
        [53, 78, 1],
        [725, 727, 729],
        [0, 12, 0],
        [64, 23, 3]]

# 计算每行的平均值
row_averages = [sum(row) / len(row) for row in data]
print("行平均值:", row_averages)
# 输出:行平均值: [86.66666666666667, 247.0, 44.0, 727.0, 4.0, 30.0]

列平均值计算

利用zip(*data)将原二维列表转置(行变列),之后对转置后的每个"列集合"计算平均值:

# 计算每列的平均值
col_averages = [sum(col) / len(col) for col in zip(*data)]
print("列平均值:", col_averages)
# 输出:列平均值: [250.33333333333334, 165.0, 187.33333333333334]

排序操作

直接使用Python内置的sorted()函数即可对行/列平均值进行排序,默认升序,添加reverse=True参数可改为降序:

基础排序

# 行平均值升序排序
sorted_rows_asc = sorted(row_averages)
# 行平均值降序排序
sorted_rows_desc = sorted(row_averages, reverse=True)

# 列平均值升序排序
sorted_cols_asc = sorted(col_averages)
# 列平均值降序排序
sorted_cols_desc = sorted(col_averages, reverse=True)

print("行平均值升序:", sorted_rows_asc)
# 输出:行平均值升序: [4.0, 30.0, 44.0, 86.66666666666667, 247.0, 727.0]
print("行平均值降序:", sorted_rows_desc)
# 输出:行平均值降序: [727.0, 247.0, 86.66666666666667, 44.0, 30.0, 4.0]
print("列平均值升序:", sorted_cols_asc)
# 输出:列平均值升序: [165.0, 187.33333333333334, 250.33333333333334]
print("列平均值降序:", sorted_cols_desc)
# 输出:列平均值降序: [250.33333333333334, 187.33333333333334, 165.0]

带原索引的排序

如果需要知道排序后的平均值对应原数据的哪一行/列,可以结合enumerate()和自定义排序键:

# 带原行索引的行平均值排序(按平均值升序)
sorted_rows_with_index = sorted(enumerate(row_averages), key=lambda x: x[1])
print("带索引的行平均值升序:", sorted_rows_with_index)
# 输出:带索引的行平均值升序: [(4, 4.0), (5, 30.0), (2, 44.0), (0, 86.66666666666667), (1, 247.0), (3, 727.0)]

# 带原列索引的列平均值排序(按平均值降序)
sorted_cols_with_index = sorted(enumerate(col_averages), key=lambda x: x[1], reverse=True)
print("带索引的列平均值降序:", sorted_cols_with_index)
# 输出:带索引的列平均值降序: [(0, 250.33333333333334), (2, 187.33333333333334), (1, 165.0)]

内容的提问来源于stack exchange,提问作者L4w1i3t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 05:55:16