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

 

posted @ 2019-07-20 11:29  springionic  阅读(630)  评论(0编辑  收藏  举报