在说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) 的数组也是可以计算的;          

numpy数组常用计算的更多相关文章

  1. numpy 数组的计算

    一.数组和数的计算 数组和数计算,数组中的每个元素和数进行计算 1.加 import numpy as np arr1 = np.arange(12).reshape(3, 4) print(arr1 ...

  2. numpy数组的计算

    1.数组的形状 查看数组的形状: import numpy as np a = np.array([[1, 2, 3, 4, 5], [5, 6, 7, 8, 9]]) print(a.shape) ...

  3. Python数据科学手册-Numpy数组的计算,通用函数

    Python的默认实现(CPython)处理某些操作非常慢,因为动态性和解释性, CPython 在每次循环必须左数据类型的检查和函数的调度..在编译是进行这样的操作.就会加快执行速度. 通用函数介绍 ...

  4. Python数据科学手册-Numpy数组的计算:比较、掩码和布尔逻辑,花哨的索引

    Numpy的通用函数可以用来替代循环, 快速实现数组的逐元素的 运算 同样,使用其他通用函数实现数组的逐元素的 比较 < > 这些运算结果 是一个布尔数据类型的数组. 有6种标准的比较操作 ...

  5. Python数据科学手册-Numpy数组的计算:广播

    广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则 二元运算符是对相应元素逐个计算 广播允许这些二元运算符可以用于不同大小的数组 更高维度的数组 更复杂的情况,对俩个数组的同时广播 ...

  6. 操作 numpy 数组的常用函数

    操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...

  7. NumPy(数组计算)

    一.介绍 NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 1.主要功能 1)ndarray,一个多维数组结构,高效且节省空间2)无需循环对整组数据进行快速运算的数 ...

  8. numpy——基础数组与计算

    In [1]: import numpy as np In [11]: # 创建数组 a = np.array([1,2,3,4,5]) In [12]: a Out[12]: array([1, 2 ...

  9. Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数

    Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 不再通过遍历,对数组中的元素进行运算,利用frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 ...

随机推荐

  1. scrapy框架之Selectors选择器

    Selectors(选择器) 当您抓取网页时,您需要执行的最常见任务是从HTML源中提取数据.有几个库可以实现这一点: BeautifulSoup是Python程序员中非常流行的网络抓取库,它基于HT ...

  2. docker 安装redis 注意事项

    一. redis配置文件修改(重要) ~/redis.conf 中daemonize=NO.非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出. 三  ...

  3. IntelliJ跳转到抽象方法的实现

    ctrl + b (等价于ctrl + 鼠标点击方法名)会调到这个类型的抽象方法中: 如果想要跳转到这个方法的具体实现可以使用 ctrl + alt + 鼠标点击方法名. IntelliJ快速查找一个 ...

  4. XMLHttpRequest Level2 新功能

    XMLHttpRequest是浏览器的接口,使得javascript可以进行HTTP(S)通信: 2008年2月,就提出了XMLHttpRequest Level 2 草案. 这个XMLHttpReq ...

  5. Java-基于 Instrument 的 Agent

    Agent 为 JVMTI 的客户端. 这里记录的是基于Java Instrument 的 Agent 实现,还有直接基于 JVMTI 的 Agent 实现. 在 JDK1.5 以后,我们可以使用 A ...

  6. mysql端口3306无法访问

    mysql主备复制,show slave status显示IO一直connecting 一.查看了防火墙,已经处于关闭状态 二.查看使用的复制用户的权限,也已经开放 三.telnet访问另外一台机器端 ...

  7. IOS项目集成ShareSDK实现第三方登录、分享、关注等功能

    (1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/ (2)根据实际情况,引入相关的库,参考官方文档. (3)在项目的AppDelegate中一般情况下有三 ...

  8. java time

    package cn.itcast_04;       import java.text.SimpleDateFormat;   import java.util.Date;       public ...

  9. MySQL、sqlalchemy、pymysql、mysqldb、DBAPI之间关系梳理(终于明白了)

    MySQL.sqlalchemy.pymysql.mysqldb.DBAPI之间关系梳理(终于明白了) python3不再支持mysqldb 请用pymysql和mysql.connector 问题背 ...

  10. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_18-页面静态化-模板管理-GridFS研究-取文件

    需要创建mongoDB的配置类1 配置类里面主要创建.GridFSBucket这个对象.这个对象的作用就是用来打开一个下载流 在cms的微服务下,在config下创建MongoConfig.这个时候就 ...