Python数据分析Numpy库方法简介(四)

Numpy的相关概念2

副本和视图

  • 副本:复制

    • 三种情况属于浅copy

      • 赋值运算

      • 切片

      • 视图:链接,操作数组是,返回的不是副本就是视图 c =a.view().创建a的视图/影子和切片一样都是浅copy

    • 深copy

      • b = a.copy

向量化

向量化和广播两个原理是矩阵内部原理

  • 向量化运算=矢量化运算(可避免循环,直接实现矩阵之间,对应元素进行操作)

 

广播机制

广播机制:维度不同的矩阵运算时低维数矩阵会自动补全

  • 原则1.1维数组可以和任意维度矩阵进行运算

  • 原则2:是低维度矩阵按照某个轴进行广播

    import numpy as np
    a = np.array([[1,3],
                [2,4]])
    b = np.array([2])
    a+b # 结果 3 ,5,4,6

    b2 = np.array([[1],[3]])
    a+b2 #

 

切片技巧

  • 切片时参数可为布尔条件

    a[a>5] 表示提取大于5的元素的数据
  • 切片时可以传递数组

    import numpy as np
    #索引技巧一维数组
    a = np.arange(12)
    b = np.array([1,2,6,8])
    a[b]#传递的参数是数组b
    """
    array([1, 2, 6, 8])
    """
    #实列2二维矩阵
    import numpy as np
    a = np.arange(1,9).reshape(3,3)
    b = np.array([[2,0],[1,2]])
    a[b]
    """

    array([[[7, 8, 9],
          [1, 2, 3]],

          [[4, 5, 6],
          [7, 8, 9]]])
    """

 

拼接

  • vstack((数组,数组)) /([数组,数组]) 水平拼接

  • hstack((数组,数组)) 垂直拼接

猜你喜欢

转载自www.cnblogs.com/guofeng-1016/p/10102705.html