解决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如何通过subprocess调用adb命令详解
Aug 27 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
Python中bisect的用法及示例详解
Jul 20 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 Python
Django框架之路由用法
Jun 10 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中{}大括号是什么意思
2013/12/01 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
ES6 let和const定义变量与常量的应用实例分析
2019/06/27 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python遍历目录的4种方法实例介绍
2015/04/13 Python
用Python抢过年的火车票附源码
2015/12/07 Python
python获取代码运行时间的实例代码
2018/06/11 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
银行实习自我鉴定
2013/10/12 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
会计出纳岗位职责
2015/03/31 职场文书
成事在人观后感
2015/06/16 职场文书