如何对矩阵指定列的部分元素进行聚合运算?
解决矩阵指定元素的聚合运算问题
首先,确保你的矩阵是NumPy数组(因为你用到了np.mean),如果还未转换,先执行以下代码:
import numpy as np A = np.array([ [ 1.0, 2.0, 3.0, 4.0, 5.0], [ 6.0, 7.0, 8.0, 9.0, 10.0], [11.0, 12.0, 13.0, 14.0, 15.0], [16.0, 17.0, 18.0, 19.0, 20.0] ])
错误原因分析
你之前使用的A[1:2][0],本质是先取行索引1(1:2是左闭右开区间,仅包含第2行),再提取该行的所有元素,计算的是第2行的均值,并非你需要的6.0和11.0的均值。
正确实现方式
方式一:直接提取目标元素求均值
直接指定两个元素的索引,放入列表后计算均值:
np.mean([A[1, 0], A[2, 0]])
方式二:利用切片批量提取
通过NumPy的二维切片,一次性取出目标列的指定行元素:
# 1:3 表示取行索引1和2(左闭右开),0表示取第0列 np.mean(A[1:3, 0])
两种方式都能得到结果8.5,符合需求。
内容的提问来源于stack exchange,提问作者Rocket
相关产品推荐
相关产品推荐

