如何获取矩阵中列求和值最大的列头值?
矩阵列求和最大值对应列头的获取方案
问题场景
我们有如下Python矩阵:
matrix = [['a','b','c'], [3, 7, 6], [1, 3, 5], [9, 4, 2]]
已知各列求和结果为 [13, 14, 13],需要找出求和值最大的列对应的列头(最终结果为'b')。
方法一:基于已有的求和结果直接查找
如果已经提前算出了各列的求和列表,直接通过索引匹配即可得到目标列头:
matrix = [['a','b','c'], [3, 7, 6], [1, 3, 5], [9, 4, 2]] column_sums = [13, 14, 13] # 提取矩阵的列头行 headers = matrix[0] # 找到求和列表中最大值的索引 max_sum_index = column_sums.index(max(column_sums)) # 通过索引获取对应的列头 target_header = headers[max_sum_index] print(target_header) # 输出:b
方法二:从矩阵直接计算求和并查找
如果没有预先计算求和值,可以直接从矩阵中提取数据计算列和,再匹配列头:
matrix = [['a','b','c'], [3, 7, 6], [1, 3, 5], [9, 4, 2]] # 拆分列头和数据行 headers = matrix[0] data_rows = matrix[1:] # 计算每列的求和值 column_sums = [sum(col) for col in zip(*data_rows)] # 找到最大值对应的列头 max_sum_index = column_sums.index(max(column_sums)) target_header = headers[max_sum_index] print(target_header) # 输出:b
这里用zip(*data_rows)快速转置数据行,能按列遍历计算求和,写法简洁高效。
内容的提问来源于stack exchange,提问作者Meana
相关产品推荐
相关产品推荐

