如何对numpy嵌套数组的子数组求和并得到二维列向量结果
你当前得到一维求和结果是因为numpy执行聚合运算时默认会消去被聚合的维度,要保留二维结构可以用以下两种方案实现:
方案1:求和时直接保留维度
调用sum方法时传入keepdims=True参数,直接保留原有维度结构,是最简便的写法:
import numpy as np arr = np.array([[1,2,4], [2,5,6]]) result = arr.sum(axis=1, keepdims=True) print(result) # 输出:array([[ 7], [13]])
方案2:对已有的一维结果手动扩维
如果你已经得到了一维的array([7, 13])结果,可以通过扩维操作转换成需要的二维结构,两种常用写法:
- 用
reshape方法修改维度:
result = arr.sum(axis=1).reshape(-1, 1)
- 用
np.newaxis新增维度:
result = arr.sum(axis=1)[:, np.newaxis]
内容的提问来源于stack exchange,提问作者user13467695
相关产品推荐
相关产品推荐

