在说numpy库数组的计算之前先来看一下numpy数组形状的知识:

  • 创建一个数组之后,可以用shape来查看其形状,返回一个元组

    例如:a = np.array([[1, 2, 3], [4, 5, 6]])

          print(a.shape)   # 打印出 (2,3)

    其它的一维二维或三维数组也是同理,打印出对应形状的元组

  • 修改数组的形状可以用 reshape() 函数,参数传入一个元组

    例如:b = a.reshape((3, 2))

      print(b.shape)    # 打印出(3, 2)

    注意点:修改前后的数组中总元素要一致,具体情况还需具体分析

  • flatten() 函数可以直接把数组展开,比如将数组a转换为一维

    例如:c = a.flatten()

       此时a将变为一个一维数组

数组的计算:

  • 数组和数的计算  

    数组和数的计算一般都遵从广播原则,也就是在做加减乘除的时候会和数组里面的每一个都进行计算,最后返回一个数组

    

  • 数组和数组的计算

    相同维度的数组的计算一般就是对应的进行计算,很好理解:

    

    不同维度的数组进行计算,就要分析其能不能成功计算了:

    

    像这种广播原则理解起来有时候还是比较难以理解,有时候我们可以发挥一下空间想象能力,想象一下能不能成功计算,像一维数组和二维数组之间应该都是可以一眼看得出来的,主要是多维数组的理解上。

  • 像shape为(3, 3, 3)的数组和(3, 2) 的数组就是不能计算的;
  • 而shape为(3, 3, 2)的数组和(3, 2) 的数组就是可以计算的;
  • 并且shape为(3, 3, 2)的数组和(3, 3) 的数组也是可以计算的;          

最新文章

  1. 清除浮动clear/BFC
  2. ACM Longest Repeated Sequence
  3. latch: cache buffers chains故障处理总结(转载)
  4. chem01- 添加商品到购物车
  5. vs2012 .netFramwork2.0发布到xp
  6. Gvim for php 安装配置
  7. 《mysql数据库备份小脚本》
  8. Java多线程编程之同步器
  9. Win10 UWP开发系列:开发一个自定义控件——带数字徽章的AppBarButton
  10. idea的一揽子工程
  11. Android虚拟设备访问WebSocket问题
  12. ES6躬行记(19)——生成器
  13. Linux(CentOS)下设置nginx开机自动启动(2个办法)
  14. 集合之LinkedHashSet(含JDK1.8源码分析)
  15. Java 基础【18】 反射与内省
  16. 普通文件的上传(表单上传和ajax文件异步上传)
  17. how to tell gcc with c99 enable
  18. 抓取awr、语句级awr、ashrpt
  19. Python如何利用Xpath进行解析
  20. 无oracle客户端仅用plsql连接远程oracle

热门文章

  1. MySQl的库操作、表操作和数据操作
  2. nginx下载 并将vue项目部署上去
  3. idea导入项目之后包位置报错
  4. Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上
  5. MySQL中使用LIMIT分页
  6. msql数据库常用指令操作
  7. 网络共享服务—SAMBA服务
  8. np.random.choices的使用
  9. Highcharts 使用总结
  10. <JavaScript> 普通函数与构造函数的区别