解决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函数返回值实例分析
Jun 08 Python
python简单文本处理的方法
Jul 10 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
pycharm远程调试openstack代码
Nov 21 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 Python
Python元组拆包和具名元组解析实例详解
Mar 26 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
详解多线程Django程序耗尽数据库连接的问题
Oct 08 Python
python wxpython 实现界面跳转功能
Dec 17 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
python如何爬取网页中的文字
Jul 28 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与ASP
2006/10/09 PHP
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
vue实现通讯录功能
2018/07/14 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
react的hooks的用法详解
2020/10/12 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
Python中特殊函数集锦
2015/07/27 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
简单了解什么是神经网络
2017/12/23 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python zip()函数用法实例分析
2018/03/17 Python
python+os根据文件名自动生成文本
2019/03/21 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
什么是反射?如何实现反射?
2016/07/25 面试题
linux面试题参考答案(4)
2014/09/21 面试题
总裁岗位职责
2013/12/04 职场文书
需求分析说明书
2014/05/09 职场文书
司法局火灾防控方案
2014/06/05 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
全陪导游词开场白
2015/05/29 职场文书
长江七号观后感
2015/06/11 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js