使用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函数求和结果维度问题相关推荐

  1. python sum函数numpy_解决Numpy中sum函数求和结果维度的问题

    使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空. 比如下面的例子: a = np.array([[1,2,3],[4,5,6] ...

  2. sum函数python后面很多小数_解决Numpy中sum函数求和结果维度的问题

    使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空. 比如下面的例子: a = np.array([[1,2,3],[4,5,6] ...

  3. numpy中sum函数求和时参数axis=0和axis=1的含义

    简单来说,对于一个m*n的矩阵,如果sum()的参数中没有指定axis,就是将所有的数值加到一起,得到1*1的标量.如果是axis=0,就是按照列进行加,得到一个1*n的行向量:如果axis=1,表示 ...

  4. Numpy中sum函数的使用方法(Python自带sum函数)

    Numpy中sum函数(Python自带sum函数)的作用是对元素求和. 无参时,所有全加: axis=0,按列相加: axis=1,按行相加: 下边通过例子来说明其用法: #!/usr/bin/en ...

  5. matlab中sum函数求和

    matlab中sum函数求和 2016_11_4 http://blog.sina.com.cn/charyul 转载 ▼ sum(x,2)表示矩阵x的横向相加,求每 行的和,结果是列向量. 而缺省的 ...

  6. mysql 语句中 sum函数求和 null 变 0

    在SQL语句中使用集合函数count(),返回结果肯定为非负整数,这也是用来判断数据有无的一个很有效的方法: 然后在用sum()进行集合相加的时候,如果sum()的对象没有记录,那么不会返回0,而返回 ...

  7. python中sum函数详解

    python3中sum的用法 python内置的sum函数 对象是列表,元组,集合,可以混合起来使用 >>>sum([1,2,3],2)8>>>sum((1,2,3 ...

  8. matlab中sum函数对矩阵的求和总结

    matlab中sum函数对矩阵的求和总结 A= [1, 2 ,3 ,4, 5:     1, 2, 3, 4, 5]: a=sum(A)  %对整个矩阵按列求和 >>a= [2 4 6 8 ...

  9. Matlab中sum函数使用

    今天使用matlab中sum函数,记录一下: sum(A)函数主要功能为针对A的元素求和. 1 如果A为矩阵(matrix): 例如: A=[1 2 3; ...4 9 6;] ; (1)sum(A, ...

最新文章

  1. 一堆乱七八糟绝不正经的排序算法
  2. 从系统的启动过程分析,为什么我们划分分区的时候 /sbin 、/bin、/lib、/dev不能做为独立的分区?...
  3. 利用css布局效果图
  4. java空指针处理例子_被同事的空指针硬生生的折磨了好久,终于学会了如何处理空指针...
  5. Coolite Toolkit入门指南
  6. 联想服务器支持esxi版本,联想中国(Lenovo China)_服务频道_服务政策
  7. Response.Write具体介绍
  8. 解决ubuntu首次安装Mysql之后,首次登录出现ERROR 1698 (28000): Access denied for user 'root'@'localhost'的方法
  9. php socket主动推送消息,PHP使用WebSocket主动推送【微信小程序接收】
  10. wrf 嵌套网格作用_在网格系统中使用响应列,嵌套列和偏移列 引导程序
  11. [20170203]dg磁盘空间不足的处理.txt
  12. 10 个步骤让你成为高效的 Web 开发者
  13. 单片机奇偶交替闪烁_自学单片机第十三篇中:单点交替
  14. Java程序员必备的网盘资源 大集合
  15. 学习金字塔---优化你的学习方法
  16. 论Cardano修仙之路,聊ADA现状分析
  17. kernel exploit 有用的结构体
  18. Oracle中反GROUP BY的写法
  19. WEB安全漏洞(1)
  20. .IMDB,THUCNews数据集下载和探索

热门文章

  1. android仿抖音上下切换视频,微信小程序仿抖音视频之整屏上下切换功能的实现代码...
  2. window浏览器事件
  3. 训练神经网络的秘诀,Andrej Karpathy大神的刷屏之作
  4. python对浏览器的常用操作_python+selenium(4)--浏览器操作的基本方法
  5. 数据产品经理必备 :解密“学习能力”打造公式
  6. mysql和elastic search数据同步方案
  7. 不用再贴保护膜!华为新专利曝光:屏幕划痕可修复
  8. java队列火车厢重排_火车车厢重排问题--队列模拟
  9. 周杰伦《青花瓷》歌词欣赏-----方文山作词,周杰伦谱曲
  10. 微信小程序开发常用快捷键