解决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的网络编程库Gevent的安装及使用技巧
Jun 24 Python
python脚本爬取字体文件的实现方法
Apr 29 Python
利用python求积分的实例
Jul 03 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
docker-py 用Python调用Docker接口的方法
Aug 30 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
Python如何合并多个字典或映射
Jul 24 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
只用20行Python代码实现屏幕录制功能
Jun 02 Python
Python调用腾讯API实现人脸身份证比对功能
Apr 04 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
javascript每日必学之循环
2016/02/19 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
[01:24]DOTA2上海特锦赛OG战队抵达 专车接机入驻总统套房
2016/02/23 DOTA
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
python:socket传输大文件示例
2017/01/18 Python
python中的随机函数小结
2018/01/27 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
进步之星获奖感言
2014/02/22 职场文书
农村婚礼主持词
2014/03/13 职场文书
企业党员个人自我评价
2014/09/20 职场文书
素质教育培训心得体会
2016/01/19 职场文书
导游词之神仙居景区
2019/11/15 职场文书
详解Nginx 工作原理
2021/03/31 Servers
详解Golang如何优雅的终止一个服务
2022/03/21 Golang