解决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编写简单网络爬虫抓取视频下载资源
Nov 04 Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 Python
Python中turtle作图示例
Nov 15 Python
python实现求最长回文子串长度
Jan 22 Python
Python实现去除列表中重复元素的方法小结【4种方法】
Apr 27 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
python实现桌面托盘气泡提示
Jul 29 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
Python批量启动多线程代码实例
Feb 18 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
python cookie反爬处理的实现
Nov 01 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 print类函数使用总结
2010/06/25 PHP
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
基于php判断客户端类型
2016/10/14 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
2015/10/18 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
python中np是做什么的
2020/07/21 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
什么是类的返射机制
2016/02/06 面试题
创业计划书怎样才能打动风投
2014/01/01 职场文书
搞笑车尾标语
2014/06/23 职场文书
联谊活动总结范文
2015/05/09 职场文书
中小企业员工手册范本
2015/05/14 职场文书
python基础入门之字典和集合
2021/06/13 Python
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
能让Python提速超40倍的神器Cython详解
2021/06/24 Python