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) 的数组也是可以计算的;          
  • 相关阅读:
    Pro*C,oci,occi的作用以及区别联系?
    图片缩放 剪切
    去除DataGridView选中行背景色的方法
    重写DataGridView的sort方法 自定义排序
    很好用的js日历 kimsoftjscalendar 感谢KimSoft
    计时器例子
    gcc与g++有什么区别?
    VB.NET全角半角check
    Java 集合框架(Collection)和数组的排序
    Click Models for Web Search(1) Basic Click Models
  • 原文地址:https://www.cnblogs.com/springionic/p/11217123.html
Copyright © 2011-2022 走看看