解决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进行TCP网络编程的教程
Apr 29 Python
python timestamp和datetime之间转换详解
Dec 11 Python
《Python学习手册》学习总结
Jan 17 Python
在numpy矩阵中令小于0的元素改为0的实例
Jan 26 Python
Python实现的排列组合、破解密码算法示例
Apr 12 Python
python 整数越界问题详解
Jun 27 Python
Python操作SQLite数据库过程解析
Sep 02 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
在pycharm中实现删除bookmark
Feb 14 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
详解Python 中的容器 collections
Aug 17 Python
Python实现Kerberos用户的增删改查操作
Dec 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.MVC的模板标签系统(二)
2006/09/05 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
php图片缩放实现方法
2014/02/20 PHP
PHP查询快递信息的方法
2015/03/07 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
联想C++笔试题
2012/06/13 面试题
店长岗位的工作内容
2013/11/12 职场文书
社区志愿者心得体会
2014/01/03 职场文书
一年级语文教学反思
2014/02/13 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
详解Python自动化之文件自动化处理
2021/06/21 Python
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android