解决Numpy中sum函数求和结果维度的问题


Posted in Python onDecember 06, 2019

使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空。

比如下面的例子:

a = np.array([[1,2,3],[4,5,6]])
b = np.sum(a,axis=1)
print(b.shape)
# (2,)

所以,对于一个shape为(2,3)的数组,在默认情况下使用np.sum函数求和后得到的结果shape是 (2,),如果我们想得到的是(2,1)的shape怎么办?比如Ng的深度学习编程练习中Course 1 Assignment 4就要求这样。使用reshape函数当然可以,只是没有必要,太麻烦了一点不优雅。我们可以使用通过设置keepdims参数实现,还是这个例子:

a = np.array([[1,2,3],[4,5,6]])
b = np.sum(a,axis=1,keepdims=True)
print(b.shape)
# (2,1)

(2,1)和(2,)的shape之间不同参见 What's the difference between (N,) and (N,1) in Numpy? —Stackoverflow

这里有个小例子可以帮助理解:

a = np.ones((5,))
b = np.ones((5,1))
print(a)
# [1. 1. 1. 1. 1.]

print(b)
# [[1.]
# [1.]
# [1.]
# [1.]
# [1.]]

以上这篇解决Numpy中sum函数求和结果维度的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python的Django框架中的模版相关知识
Jul 15 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
Python制作Windows系统服务
Mar 25 Python
Python字符串拼接的几种方法整理
Aug 02 Python
Python处理文本换行符实例代码
Feb 03 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
使用python存储网页上的图片实例
May 22 Python
PHP实现发送和接收JSON请求
Jun 07 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
详解Pytorch显存动态分配规律探索
Nov 17 Python
MATLAB 全景图切割及盒图显示的实现步骤
May 14 Python
numpy按列连接两个维数不同的数组方式
Dec 06 #Python
使用Python实现分别输出每个数组
Dec 06 #Python
Python 获取numpy.array索引值的实例
Dec 06 #Python
python的json中方法及jsonpath模块用法分析
Dec 06 #Python
python输出数组中指定元素的所有索引示例
Dec 06 #Python
关于numpy.where()函数 返回值的解释
Dec 06 #Python
python进程的状态、创建及使用方法详解
Dec 06 #Python
You might like
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
Python 中的with关键字使用详解
2016/09/11 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
python实现比较文件内容异同
2018/06/22 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
财务主管的岗位职责
2013/12/30 职场文书
教育科研先进个人材料
2014/01/26 职场文书
监察建议书格式
2014/05/19 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
总结高并发下Nginx性能如何优化
2021/11/01 Servers
使用python创建股票的时间序列可视化分析
2022/03/03 Python
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript