解决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函数求和结果维度的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
对python中矩阵相加函数sum()的使用详解
假如矩阵A是n*n的矩阵 A.sum()是计算矩阵A的每一个元素之和. A.sum(axis=0)是计算矩阵每一列元素相加之和. A.Sum(axis=1)是计算矩阵的每一行元素相加之和. 以上这篇对python中矩阵相加函数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
-
解决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
随机推荐
- JavaScript DOM节点操作实例小结(新建,删除HTML元素)
- linux系统安装git及git常用命令
- 分享Oracle 11G Client 客户端安装步骤(图文详解)
- JS对象创建的几种方式整理
- 写js时遇到的一些小问题
- javascript 实现文本使用省略号替代(超出固定高度的情况)
- 1亿条数据如何分表100张到Mysql数据库中(PHP)
- php print EOF实现方法
- 符合标准的js表单提交的代码
- c#使用Socket发送HTTP/HTTPS请求的实现代码
- vue+vux实现移动端文件上传样式
- 老生常谈mysql event事件调度器(必看篇)
- MySQL使用xtrabackup进行备份还原操作
- 用js将内容复制到剪贴板兼容浏览器
- 基于PHP常用函数的用法详解
- js获取json中key所对应的value值的简单方法
- 网站程序中非SI漏洞的利用
- python目录与文件名操作例子
- Android Mms之:深入理解对话列表管理
- Android实现动态定值范围效果的控件