zoukankan      html  css  js  c++  java
  • numpy数组常用计算

    在说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) 的数组也是可以计算的;          
  • 相关阅读:
    Tornado-Lesson06-ORM、SQLAlchemy连接数据库、Module和增删改查
    Tornado-Lesson04-模版、模版转义、静态文件的引用
    Tornado-Lesson05-模版继承、函数和类导入、ui_methods和ui_modules
    博弈论
    给图片添加水印
    Apsara Clouder专项技能认证:实现调用API接口
    好用的工具
    书写是为了更好的思考
    使用与破解ExcelVBA密码
    一款可以直接下载浏览器sources资源的Chrome插件
  • 原文地址:https://www.cnblogs.com/springionic/p/11217123.html
Copyright © 2011-2022 走看看