numpy常用知识点备忘(2)

  • x.ravel()x.flatten() : 将多为数组降维到1维.ravel()返回元素的引用(对象不一样,但是元素是引用),flatten()返回新的元素。
  • np.meshgrid(x, y) : 返回两个矩阵(X,Y),由这两个矩阵可以将xy定义的空间中的所有点描述出来。所有的点就是网格中的一个个焦点。
    # 每次刷新一行的感觉
    axis = [-2, 2, -2, 2]
    x0, x1 = np.meshgrid(
        np.linspace(axis[0], axis[1], int(3)).reshape(-1, 1),
        np.linspace(axis[2], axis[3], int(3)).reshape(-1, 1),
    )
    
    print(x0)	# (3,3)
    print(x1)	# (3,3)
    
    # 结果如下:
    [[-2.  0.  2.]
     [-2.  0.  2.]
     [-2.  0.  2.]]
    
    [[-2. -2. -2.]
     [ 0.  0.  0.]
     [ 2.  2.  2.]]
    
  • np.r_[a,b [,...]]np.c_[a,b [,...]] : np.c_不是函数,他是一个类!!!这个类重载了[],所以在调用时不能用括号。
    • 对于1维数组,c_把数组当成列向量,返回m行两列;r_把数组当成行向量,返回一行
    • c_就是把a,b当成一列,r_就是把a,b当成一行
    a = np.array([1,2,3,4])
    b = np.array([5,6,7,8])
    c_c = np.c_[a, b]
    c_r = np.r_[a, b]
    print(c_c, "\n\n", c_r, end="\n\n")
    
    a = a.reshape(2,2)
    b = b.reshape(2,2)
    c_c = np.c_[a, b]
    c_r = np.r_[a, b]
    print(c_c, "\n\n", c_r, end="\n\n")
    
    [[1 5]
     [2 6]
     [3 7]
     [4 8]] 
    
     [1 2 3 4 5 6 7 8]
    
    [[1 2 5 6]
     [3 4 7 8]] 
    
     [[1 2]
     [3 4]
     [5 6]
     [7 8]]
    
posted @ 2020-07-27 11:11  twilight0402  阅读(97)  评论(0编辑  收藏  举报