解决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 相关文章推荐
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
Python从使用线程到使用async/await的深入讲解
Sep 16 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
Oct 28 Python
Python闭包和装饰器用法实例详解
May 22 Python
在python中用url_for构造URL的方法
Jul 25 Python
python做接口测试的必要性
Nov 20 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
Jan 03 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 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 超链接 抓取实现代码
2009/06/29 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
原生JS实现天气预报
2020/06/16 Javascript
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
Python 加密的实例详解
2017/10/09 Python
python3 爬取图片的实例代码
2018/11/06 Python
python几种常用功能实现代码实例
2019/12/25 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
python re模块和正则表达式
2021/03/24 Python
电大毕业生自我鉴定
2013/11/10 职场文书
学校安全教育制度
2014/01/31 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
小学课外活动总结
2014/07/09 职场文书
房贷工资证明范本
2015/06/12 职场文书
行为规范主题班会
2015/08/13 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
2021/07/26 Java/Android