解决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 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
Feb 24 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
Python中字符串与编码示例代码
May 20 Python
pandas中DataFrame修改index、columns名的方法示例
Aug 02 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
Django windows使用Apache实现部署流程解析
Oct 12 Python
Python绘制分类图的方法
Apr 20 Python
利用Python多线程实现图片下载器
Mar 25 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 fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
jQuery动态操作表单示例【基于table表格】
2018/12/06 jQuery
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
vue实现选中效果
2020/10/07 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
python进行参数传递的方法
2020/05/12 Python
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
求职自荐信范文格式
2013/11/29 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
优秀教研组申报材料
2014/12/26 职场文书
护士自我推荐信范文
2015/03/24 职场文书
暖春观后感
2015/06/08 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
java中如何截取字符串最后一位
2022/07/07 Java/Android