解决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 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
python去掉空白行的多种实现代码
Mar 19 Python
《与孩子一起学编程》python自测题
May 27 Python
Python实现的连接mssql数据库操作示例
Aug 17 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
python元组的概念知识点
Nov 19 Python
pandas 对group进行聚合的例子
Dec 27 Python
python模拟实现斗地主发牌
Jan 07 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
python爬虫使用requests发送post请求示例详解
Aug 05 Python
python安装sklearn模块的方法详解
Nov 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处理excel cvs表格的方法实例介绍
2013/05/13 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
详解Python3的TFTP文件传输
2018/06/26 Python
Linux下python制作名片示例
2018/07/20 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
shell程序中如何注释
2012/02/17 面试题
关于廉洁的广播稿
2014/01/30 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
努力工作保证书
2015/02/28 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
教学质量月活动总结
2015/05/11 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android