解决Numpy中sum函数求和结果维度的问题
使用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函数求和结果维度的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
NumPy中的维度Axis详解
浅谈NumPy中的维度Axis NumPy中的维度是一个很重要的概念,很多函数的参数都需要给定维度Axis,如何直观的理解维度呢?我们首先以二维数组为例进行说明,然后推广到多维数组. (有人将ndim属性叫维度,将axis叫轴,我还是习惯将axis称之为维度,axis=0称为第一个维度) 二维数组的列子 下面是一个二维数组的列子: In [1]: import numpy as np In [2]: x = np.random.randint(0, 9, (2, 3)) In [3]: x Ou
-
对python中矩阵相加函数sum()的使用详解
假如矩阵A是n*n的矩阵 A.sum()是计算矩阵A的每一个元素之和. A.sum(axis=0)是计算矩阵每一列元素相加之和. A.Sum(axis=1)是计算矩阵的每一行元素相加之和. 以上这篇对python中矩阵相加函数sum()的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
解决Numpy中sum函数求和结果维度的问题
使用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
-
numpy的sum函数的axis和keepdim参数详解
一.axis axis就是指定轴. 三维数组可看作元素是二维数组的一维数组,二维数组可看作元素是一维数组的一维数组 .(这么理解就舒服了!) 例: axis=2就是三维数组对最里面那一层即每个一维数组内部进行求和. axis=0就是对最外面那一层的元素之间作和. 例子戳这里 二.keepdim 可以理解为'keepdims = True'参数是为了保持结果的维度与原始array相同,即keep dimension 保持维度. import numpy as np b=np.arange(12)
-
MySQL中sum函数使用的实例教程
文章简介 今天分享一下MySQL中的sum函数使用.该函数已经成为大家操作MySQL数据库中时常用到的一个函数,这个函数统计满足条件行中指定列的和,想必肯定大家都知道了,本身就没什么讲头了,这篇文章主要是通过几个小案例深入了解一下该函数,以及在做MySQL查询时如何使用sum函数做优化. 语法分析 SUM([DISTINCT] expr) [over_clause] Returns the sum of expr. If the return set has no rows, SUM() ret
-
Numpy中Meshgrid函数基本用法及2种应用场景
目录 引言 Meshgrid函数的基本用法 Meshgrid函数的一些应用场景 总结 引言 近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法. 但总觉得印象不深刻,不是太了解meshgrid的应用场景. 所以,本文将进一步介绍Numpy中meshgrid的用法. Meshgrid函数的基本用法 在Numpy的官方文章里,meshgrid函数的英文描述也显得文绉绉的,理解起来有些难度. 可以这么理解,meshgrid函数用两个坐标轴上的点在平面上画网格. 用法:
-
浅谈numpy 中dot()函数的计算方式
如下所示: a = np.arange(1, 5).reshape(2, 2) b = np.arange(2, 6).reshape(2, 2) c = a * b dot = np.dot(a, b) print(a) print(b) print(c) print(dot) 打印出a [[1 2] [3 4]] 打印出b [[2 3] [4 5]] a * b 每个相对位置的数值相乘1*2=2,2*3=6,3*4=12,4*5=20.比较简单,自己脑补一下 [[ 2 6] [12 20]]
-
解决python2中unicode()函数在python3中报错的问题
python2中的unicode()函数在python3中会报错: NameError: name 'unicode' is not defined There is no such name in Python 3, no. You are trying to run Python 2 code in Python 3. In Python 3, unicode has been renamed to str. 翻译过来就是:Python 3中没有这样的名字,没有. 您正在尝试在Python
-
Python NumPy中diag函数的使用说明
NumPy包中的内置diag函数很有意思. 假设创建一个1维数组a,和一个3*3数组b: import numpy as np a = np.arange(1, 4) b = np.arange(1, 10).reshape(3, 3) 结果如下: >>> a array([1, 2, 3]) >>> b array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 使用diag函数,看一看结果: >>> np.diag(a) ar
-
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
方法一: 在php中,抓取https的网站,提示如下的错误内容: Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16 打开php.ini文件找到 ;extension=php_openssl.dll ,去掉双引号";" ,重启web服务器即可. apache服务器的话,可以同时启用m
-
Numpy中的repeat函数使用
Numpy中repeat函数使用 Numpy是Python强大的数学计算库,和Scipy一起构建起Python科学计算生态.在本节下面我们重点介绍下repeat函数的用法,我们在Python中import numpy,help(numpy.repeat),会出现以下界面: repeat是属于ndarray对象的方法,使用它可以通过两个管道: (1)numpy.repeat(a,repeats,axis=None); (2)object(ndarray).repeat(repeats,axis=N
-
Mysql使用sum()函数返回null的问题详解
目录 介绍 问题 验证 解决 区别 参考 总结 介绍 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下: SUM(DISTINCT expression) SUM()函数是如何工作的? 如果在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0. DISTINCT运算符允许计算集合中的不同值. SUM函数忽略计算中的NULL值. 问题 在项目中使用 Mysql 中的 sum() 函数求和时,调试时发现报出下面的错误信息: sql: Scan er
随机推荐
- sql2005 本地计算机上的SQL SERVER服务启动后又停止了解决方法
- js读取json文件片段中的数据实例
- 详解Nginx 502错误解决办法
- JavaScript获取图片真实大小代码实例
- asp.net下Repeater使用 AspNetPager分页控件
- go语言计算两个时间的时间差方法
- C++中将string类型转化为int类型
- Android自定义控件实现下拉刷新效果
- Android设计模式之适配器(Adapter)模式
- CentOS系统中PHP和MySQL的升级方法
- javascript实现的闭包简单实例
- python中使用sys模板和logging模块获取行号和函数名的方法
- 四步学会 Ajax
- 使用HTML5中postMessage知识点解决Ajax中POST跨域问题
- Lua进阶教程之闭包函数、元表实例介绍
- 分页 SQLServer存储过程
- javascript 冒号 使用说明
- Android之带group指示器的ExpandableListView(自写)
- PHP安装全攻略:APACHE
- Android 出现问题 Gradle