解决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使用random和tertools模块解一些经典概率问题
Jan 28 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
详解python之配置日志的几种方式
May 22 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
Python shutil模块用法实例分析
Oct 02 Python
pytorch数据预处理错误的解决
Feb 20 Python
Python基于requests库爬取网站信息
Mar 02 Python
Python内存映射文件读写方式
Apr 24 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 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制作静态网站的模板框架(四)
2006/10/09 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
js动态引入的四种方法
2018/05/05 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
详解Webpack4多页应用打包方案
2020/07/16 Javascript
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
python分布式环境下的限流器的示例
2017/10/26 Python
Python对List中的元素排序的方法
2018/04/01 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
北京颐和园导游词
2015/01/30 职场文书
小学数学教学随笔
2015/08/14 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis