解决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后台管理程序
Apr 13 Python
Python复数属性和方法运算操作示例
Jul 21 Python
Django中的Signal代码详解
Feb 05 Python
python事件驱动event实现详解
Nov 21 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
超实用的 30 段 Python 案例
Oct 10 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
通过实例解析Python调用json模块
Dec 11 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
浅谈php的优缺点
2015/07/14 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
在Django的视图中使用form对象的方法
2015/07/18 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python 日期排序的实例代码
2019/07/11 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python 画出来六维图
2019/07/26 Python
Python 硬币兑换问题
2019/07/29 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
Python读写压缩文件的方法
2020/07/30 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
文明礼仪标语
2014/06/13 职场文书
自查自纠工作总结
2014/10/15 职场文书
电影建国大业观后感
2015/06/01 职场文书
建国大业观后感800字
2015/06/01 职场文书