使用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函数python后面很多小数_解决Numpy中sum函数求和结果维度的问题相关推荐

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

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

  2. python光标变粗_解决IDEA中不能正常输入光标变粗的问题

    解决IDEA中不能正常输入光标变粗的问题 遇到的问题 解决方法 win7: insert键切回 win10: fn+insert切回 Mac: fn+i 切回 到此这篇关于解决IDEA中不能正常输入光 ...

  3. python布尔型数组_对numpy中布尔型数组的处理方法详解

    布尔数组的操作方式主要有两种,any用于查看数组中是否有True的值,而all则用于查看数组是否全都是True. 如果用于计算的时候,布尔量会被转换成1和0,True转换成1,False转换成0.通过 ...

  4. python 矩阵元素赋值_对numpy中数组元素的统一赋值实例

    Numpy中的数组整体处理赋值操作一直让我有点迷糊,很多时候理解的不深入.今天单独列写相关的知识点,进行总结一下. 先看两个代码片小例子: 例子1: In [2]: arr =np.empty((8, ...

  5. python数组切片赋值_基于numpy中数组元素的切片复制方法

    代码1: #!/usr/bin/python import numpy as np arr1 = np.arange(10) print(arr1) slice_data = arr1[3:5] pr ...

  6. python数组元素赋值_对numpy中数组元素的统一赋值实例

    下面小编就为大家分享一篇对numpy中数组元素的统一赋值实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 Numpy中的数组整体处理赋值操作一直让我有点迷糊,很多时候理解的不深入. ...

  7. python 函数作用于矩阵_图解NumPy:常用函数的内在机制

    原标题:图解NumPy:常用函数的内在机制 来源: 机器之心 支持大量多维数组和矩阵运算的 NumPy 软件库是许多机器学习开发者和研究者的必备工具,本文将通过直观易懂的图示解析常用的 NumPy 功 ...

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

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

  9. python嵌入到程序_在应用中嵌入Python:转

    前面的章节讨论如何扩展Python,如何生成适合的C库等.不过还有另一种情况:通过将Python嵌入C/C++应用以扩展程序的功能.Python嵌入实现了一些使用Python更合适的功能.这可以有很多 ...

最新文章

  1. burp suite java_Burpsuite插件自动二手开发
  2. 最先进的计算机视觉|AI和工业4.0之间,还有多远的差距?
  3. MATLAB中设置figure的边框
  4. ASP.NET Core MVC+EF Core从开发到部署
  5. c语言bfs程序讲解,面试算法--二叉树DFS/BFS实现(C语言)
  6. Laravel核心解读--Console内核
  7. IDC:中小企业IT产品及服务支出预计到2020年突破6680亿美元
  8. npm 切换源_nrm:npm包管理工具
  9. C++11之 Move semantics(移动语义)(转)
  10. ppt 2016 html,2016第1章HTML5.ppt
  11. java同步和异步概念
  12. java中的工作流要怎样实现_java工作流开发要怎么实现?
  13. 基于JavaWeb的在线题库管理系统的设计与开发
  14. mysql 1114错误_mysql出现错误编码1114怎么办
  15. 摄影之构图,了解画面构成的五大元素:主体、陪体、前景、背景、留白
  16. arcgis打开Excel文件显示没有注册类的解决方案
  17. 自动驾驶域控制器话题下的软件系统设计和研发管理
  18. 嵌入式系统硬件体系设计(一)
  19. Android App开发基础
  20. 凸函数高维性质证明(Jenson不等式)

热门文章

  1. 我在冬奥会认识了各国小伙伴,怎么样才能够和他们保持联系?
  2. iphone11信号强度测试软件,iPhone11信号表现怎么样?重度使用8天后,憋了一肚子真心话...
  3. “我月薪3千,给猫看病花了一万二”
  4. ASP.NET实现WORD文件自动转换PDF
  5. 解析世界杯超大规模直播场景下的码率控制
  6. 团队建设靠这三大要素,发挥团队活动真正威力|优思学院
  7. 浅谈DM达梦数据库体系结构概念
  8. DM数据库的体系结构
  9. RMXP脚本解析(十):Game_Battler(分割定义一)
  10. python–颜色英文与RGB格式互转