解决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 相关文章推荐
linux下安装easy_install的方法
Feb 10 Python
python实现网站的模拟登录
Jan 04 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
元组列表字典(莫烦python基础)
Apr 03 Python
如何使用python把ppt转换成pdf
Jun 29 Python
python支持多线程的爬虫实例
Dec 21 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
Mar 30 Python
python中turtle库的简单使用教程
Nov 11 Python
python实现进度条的多种实现
Apr 29 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水印技术
2007/02/14 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
PHP加密技术的简单实现
2016/09/04 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python开发之str.format()用法实例分析
2016/02/22 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
python 调用c语言函数的方法
2017/09/29 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python实现反转部分单向链表
2018/09/27 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
杭州-DOTNET笔试题集
2013/09/25 面试题
软件测试工程师面试问题精选
2016/10/28 面试题
竞聘副主任科员演讲稿
2014/01/11 职场文书
总经理助理职责
2014/02/04 职场文书
企业新年寄语
2014/04/04 职场文书
群众路线调研报告范文
2014/11/03 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python